Пример #1
0
        public void AesManaged_EncryptionRoundtripWithRandomKey_ReturnsOriginalText()
        {
            // Arrange
            var aesManaged = new AesManaged();

            var key = Convert.ToBase64String(aesManaged.Key);

            // Act
            var encrypted = AesEncryptamajig.Encrypt(_plainText, key);
            var roundtrip = AesEncryptamajig.Decrypt(encrypted, key);

            Debug.WriteLine(_plainText);
            Debug.WriteLine(encrypted);
            Debug.WriteLine(roundtrip);

            // Assert
            Assert.AreNotEqual(_plainText, encrypted);
            Assert.AreEqual(_plainText, roundtrip);
        }
        public void Decrypt_WithDifferentKey_ThrowsException()
        {
            // Arrange
            var aesManaged = new AesManaged();

            var originalKey = Convert.ToBase64String(aesManaged.Key);

            // This should generate a new key
            aesManaged = new AesManaged();
            var newKey = Convert.ToBase64String(aesManaged.Key);

            // Act
            var encrypted = AesEncryptamajig.Encrypt(_plainText, originalKey);

            Debug.WriteLine("Org Key = " + originalKey);
            Debug.WriteLine("New Key = " + newKey);

            string roundtrip = AesEncryptamajig.Decrypt(encrypted, newKey);

            // Assert
            throw new Exception("This should have thrown a CryptographicException!");
        }
Пример #3
0
 public string DecryptSecret(string cipher)
 {
     return(AesEncryptamajig.Decrypt(cipher, Convert.ToBase64String(Key)));
 }
Пример #4
0
 public string HideSecretPassword(string secret)
 {
     return(AesEncryptamajig.Encrypt(secret, Convert.ToBase64String(Key)));
 }
Пример #5
0
 /// <summary>
 /// Loads this instance.
 /// </summary>
 /// <returns>DebtPortfolio.</returns>
 public DebtPortfolio Load() => JsonConvert.DeserializeObject <DebtPortfolio>(
     AesEncryptamajig.Decrypt(File.ReadAllText(FilePath), Key.ToString()));