示例#1
0
        public void UnlockString_WrongKey()
        {
            var sl = new SecretLocker(new Key());
            var en = new Locked(testCipher, new Utils.Nonce(testNonce));

            var de = "";

            Assert.ThrowsException <CryptographicException>(() => de = sl.UnlockString(en));
            Assert.AreNotEqual(TEST_STRING, de);
        }
示例#2
0
        public void UnlockString_CipherWithWrongNonce_ToShort()
        {
            var key = new Key(testKey);

            var sl = new SecretLocker(key);
            var en = new Locked(testCipher, new Utils.Nonce());

            var de = "";

            Assert.ThrowsException <Sodium.Exceptions.NonceOutOfRangeException>(() => de = sl.UnlockString(en));
            Assert.AreNotEqual(TEST_STRING, de);
        }
示例#3
0
        public void UnlockString_CipherWithNonce()
        {
            var key = new Key(testKey);

            var sl = new SecretLocker(key);

            var en = new Locked(testCipher, new Utils.Nonce(testNonce));

            var de = sl.UnlockString(en);

            Assert.AreEqual(TEST_STRING, de);
        }
示例#4
0
        public void UnlockString_combined()
        {
            var key = new Key(testKey);

            var sl = new SecretLocker(key);

            var en = new Locked(combined);

            var de = sl.UnlockString(en);

            Assert.AreEqual(TEST_STRING, de);
        }
        public void LockString()
        {
            var key = new Key();

            var sl = new SecretLocker(key);

            var en = sl.Lock(TEST_STRING);

            var de = sl.UnlockString(en);

            Assert.AreEqual(TEST_STRING, de);
        }
示例#6
0
        public void UnlockString_TamperdChipherText()
        {
            var key = new Key(testKey);

            var sl = new SecretLocker(key);
            var en = new Locked(testCipher, new Utils.Nonce(testNonce));

            //tamper ciphertext
            for (int i = 0; i < 5; i++)
            {
                en.Ciphertext[i] = 0;
            }

            var de = "";

            Assert.ThrowsException <CryptographicException>(() => de = sl.UnlockString(en));
            Assert.AreNotEqual(TEST_STRING, de);
        }
示例#7
0
        public void LockString()
        {
            var key = new Key();

            var sl = new SecretLocker(key);

            var en = sl.Lock(TEST_STRING);

            var keyS = string.Join(", ", key.Bytes);

            var combinded = string.Join(", ", en.Combined);

            var n = string.Join(", ", en.Nonce.Bytes);
            var c = string.Join(", ", en.Ciphertext);

            var de = sl.UnlockString(en);

            Assert.AreEqual(TEST_STRING, de);
        }