加入测试,要求aes加密为不稳定加密。及相同条件每次加密出结果不同
This commit is contained in:
		
							parent
							
								
									3f1abae89b
								
							
						
					
					
						commit
						d49a44384c
					
				| @ -19,13 +19,13 @@ namespace Falcon.Extend | |||||||
|         public string Encrypt(string content,string key) { |         public string Encrypt(string content,string key) { | ||||||
|             var encryptKey = GetDecryptKey(key); |             var encryptKey = GetDecryptKey(key); | ||||||
|             using(var aesAlg = Aes.Create()) { |             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 msEncrypt = new MemoryStream()) { | ||||||
|                         using(var csEncrypt = new CryptoStream(msEncrypt,encryptor,CryptoStreamMode.Write)) |                         using(var csEncrypt = new CryptoStream(msEncrypt,encryptor,CryptoStreamMode.Write)) | ||||||
|                         using(var swEncrypt = new StreamWriter(csEncrypt)) { |                         using(var swEncrypt = new StreamWriter(csEncrypt)) { | ||||||
|                             swEncrypt.Write(content); |                             swEncrypt.Write(content); | ||||||
|                         } |                         } | ||||||
|                         var iv = aesAlg.IV; |  | ||||||
|                         var decryptedContent = msEncrypt.ToArray(); |                         var decryptedContent = msEncrypt.ToArray(); | ||||||
|                         var result = new byte[iv.Length + decryptedContent.Length]; |                         var result = new byte[iv.Length + decryptedContent.Length]; | ||||||
|                         Buffer.BlockCopy(iv,0,result,0,iv.Length); |                         Buffer.BlockCopy(iv,0,result,0,iv.Length); | ||||||
|  | |||||||
| @ -9,6 +9,9 @@ namespace Falcon.Extend.Tests | |||||||
|     [TestClass()] |     [TestClass()] | ||||||
|     public class AESCryptoServiceTests |     public class AESCryptoServiceTests | ||||||
|     { |     { | ||||||
|  |         /// <summary> | ||||||
|  |         /// 测试可用性 | ||||||
|  |         /// </summary> | ||||||
|         [TestMethod()] |         [TestMethod()] | ||||||
|         public void EncryptTest() { |         public void EncryptTest() { | ||||||
|             ICryptoService service = new AESCryptoService(); |             ICryptoService service = new AESCryptoService(); | ||||||
| @ -24,5 +27,21 @@ namespace Falcon.Extend.Tests | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |         /// <summary> | ||||||
|  |         /// 测试加密稳定性 | ||||||
|  |         /// </summary> | ||||||
|  |         [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); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user