diff options
author | Vest <Vest@users.noreply.github.com> | 2021-12-20 18:17:39 +0300 |
---|---|---|
committer | Vest <Vest@users.noreply.github.com> | 2021-12-20 18:17:39 +0300 |
commit | 3df922340dd2e11a48d13271fc7ebc5d2c191d7c (patch) | |
tree | 7264ef2e448bec5b97c30385a17f72cab8248760 | |
parent | 8a26b2f433421cb4e0caf0b93ef1352f86196c20 (diff) |
Fixed the test that was broken with the PR #2081
Signed-off-by: Vest <Vest@users.noreply.github.com>
-rw-r--r-- | mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs b/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs index bc325095..212d2183 100644 --- a/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs +++ b/mRemoteNG/Security/SymmetricEncryption/LegacyRijndaelCryptographyProvider.cs @@ -32,24 +32,25 @@ namespace mRemoteNG.Security.SymmetricEncryption try { using var aes = Aes.Create(); - using var md5 = MD5.Create(); - var key = md5.ComputeHash(Encoding.UTF8.GetBytes(strSecret.ConvertToUnsecureString())); + aes.BlockSize = BlockSizeInBytes * 8; - md5.Clear(); - aes.Key = key; - aes.GenerateIV(); + using (var md5 = MD5.Create()) + { + var key = md5.ComputeHash(Encoding.UTF8.GetBytes(strSecret.ConvertToUnsecureString())); + aes.Key = key; + aes.GenerateIV(); + } - using var ms = new MemoryStream(aes.IV); + using var ms = new MemoryStream(); + ms.Write(aes.IV, 0, BlockSizeInBytes); - var cs = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write); + using var cs = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write); var data = Encoding.UTF8.GetBytes(strToEncrypt); cs.Write(data, 0, data.Length); cs.FlushFinalBlock(); var encdata = ms.ToArray(); - cs.Close(); - aes.Clear(); return Convert.ToBase64String(encdata); } @@ -70,11 +71,13 @@ namespace mRemoteNG.Security.SymmetricEncryption try { using var aes = Aes.Create(); - using var md5 = MD5.Create(); - var key = md5.ComputeHash(Encoding.UTF8.GetBytes(password.ConvertToUnsecureString())); + aes.BlockSize = BlockSizeInBytes * 8; - md5.Clear(); - aes.Key = key; + using (var md5 = MD5.Create()) + { + var key = md5.ComputeHash(Encoding.UTF8.GetBytes(password.ConvertToUnsecureString())); + aes.Key = key; + } var ciphertext = Convert.FromBase64String(ciphertextBase64); @@ -87,7 +90,6 @@ namespace mRemoteNG.Security.SymmetricEncryption using var cryptoStream = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Read); using var streamReader = new StreamReader(cryptoStream, Encoding.UTF8, true); var plaintext = streamReader.ReadToEnd(); - aes.Clear(); return plaintext; } |