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); }
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)); } } }
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"]); } } }