Example #1
0
        public void DataCanBeValidatedWithAdditionalData()
        {
            string password  = Guid.NewGuid().ToString();
            string plainText = PasswordGenerator.GenerateStatic();
            string encrypted = AesEncryption.EncryptWithPassword(plainText, password);
            string encryptedWithAdditionalData = AesEncryptionAdditionalData.AddAdditionalData(encrypted, additionalData);
            var    validationResult            = AesEncryption.ValidateEncryptedDataWithPassword(encrypted, password);

            Assert.True(validationResult.IsValid);
        }
Example #2
0
        public void EncryptedDataWithAdditionalDataCanBeDecrypted()
        {
            for (int i = 0; i < NumberOrTestRuns; i++)
            {
                using (CryptoRandom cr = new CryptoRandom())
                {
                    string password  = Guid.NewGuid().ToString();
                    byte[] plainText = cr.NextBytes((uint)cr.NextInt(44, 444));
                    byte[] encrypted = AesEncryption.EncryptWithPassword(plainText, password);
                    byte[] encryptedWithAdditionalData = AesEncryptionAdditionalData.AddAdditionalData(encrypted, additionalData);

                    byte[] decrypted = AesEncryption.DecryptWithPassword(encrypted, password);
                    Assert.Equal(Convert.ToBase64String(plainText), Convert.ToBase64String(decrypted));
                }
            }
        }
Example #3
0
        public void AdditionalDataCanBeRead()
        {
            for (int i = 0; i < NumberOrTestRuns; i++)
            {
                using (CryptoRandom cr = new CryptoRandom())
                {
                    string password  = Guid.NewGuid().ToString();
                    string plainText = PasswordGenerator.GenerateStatic();
                    string encrypted = AesEncryption.EncryptWithPassword(plainText, password);
                    string encryptedWithAdditionalData = AesEncryptionAdditionalData.AddAdditionalData(encrypted, additionalData);
                    string decrypted = AesEncryption.DecryptWithPassword(encrypted, password);
                    Assert.Equal(plainText, decrypted);

                    Dictionary <string, string> data = AesEncryptionAdditionalData.ReadAdditionalData(encryptedWithAdditionalData);
                    Assert.Equal(2, data.Count);
                    Assert.Equal("value1", data["key1"]);
                    Assert.Equal("value2", data["key2"]);
                }
            }
        }