From d49a44384c2471c33d662e9ffbaa351ea454cb0f Mon Sep 17 00:00:00 2001 From: falcon <9504402@qq.com> Date: Sun, 12 Apr 2020 17:23:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=B5=8B=E8=AF=95=EF=BC=8C?= =?UTF-8?q?=E8=A6=81=E6=B1=82aes=E5=8A=A0=E5=AF=86=E4=B8=BA=E4=B8=8D?= =?UTF-8?q?=E7=A8=B3=E5=AE=9A=E5=8A=A0=E5=AF=86=E3=80=82=E5=8F=8A=E7=9B=B8?= =?UTF-8?q?=E5=90=8C=E6=9D=A1=E4=BB=B6=E6=AF=8F=E6=AC=A1=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E5=87=BA=E7=BB=93=E6=9E=9C=E4=B8=8D=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Falcon.Extend/AESCryptoService.cs | 4 ++-- Falcon.ExtendTests/AESCryptoServiceTests.cs | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Falcon.Extend/AESCryptoService.cs b/Falcon.Extend/AESCryptoService.cs index 78d330c..ca47cab 100644 --- a/Falcon.Extend/AESCryptoService.cs +++ b/Falcon.Extend/AESCryptoService.cs @@ -19,13 +19,13 @@ namespace Falcon.Extend public string Encrypt(string content,string key) { var encryptKey = GetDecryptKey(key); using(var aesAlg = Aes.Create()) { - using(var encryptor = aesAlg.CreateEncryptor(encryptKey,aesAlg.IV)) { + var iv = aesAlg.IV; + using(var encryptor = aesAlg.CreateEncryptor(encryptKey,iv)) { using(var msEncrypt = new MemoryStream()) { using(var csEncrypt = new CryptoStream(msEncrypt,encryptor,CryptoStreamMode.Write)) using(var swEncrypt = new StreamWriter(csEncrypt)) { swEncrypt.Write(content); } - var iv = aesAlg.IV; var decryptedContent = msEncrypt.ToArray(); var result = new byte[iv.Length + decryptedContent.Length]; Buffer.BlockCopy(iv,0,result,0,iv.Length); diff --git a/Falcon.ExtendTests/AESCryptoServiceTests.cs b/Falcon.ExtendTests/AESCryptoServiceTests.cs index a0d3b84..edda063 100644 --- a/Falcon.ExtendTests/AESCryptoServiceTests.cs +++ b/Falcon.ExtendTests/AESCryptoServiceTests.cs @@ -9,6 +9,9 @@ namespace Falcon.Extend.Tests [TestClass()] public class AESCryptoServiceTests { + /// + /// 测试可用性 + /// [TestMethod()] public void EncryptTest() { ICryptoService service = new AESCryptoService(); @@ -24,5 +27,21 @@ namespace Falcon.Extend.Tests } } } + /// + /// 测试加密稳定性 + /// + [TestMethod()] + public void EncryptTest2() { + ICryptoService service = new AESCryptoService(); + var m = "aaaaa"; + var k = "abcd"; + var m1 = service.Encrypt(m,k); + var m2 = service.Encrypt(m,k); + Assert.AreNotEqual(m1,m2); + var m3 = service.Decrypt(m1,k); + var m4 = service.Decrypt(m2,k); + Assert.AreEqual(m3,m4); + Assert.AreEqual(m,m3); + } } } \ No newline at end of file