加入测试,要求aes加密为不稳定加密。及相同条件每次加密出结果不同

This commit is contained in:
falcon 2020-04-12 17:23:54 +08:00
parent 3f1abae89b
commit d49a44384c
2 changed files with 21 additions and 2 deletions

View File

@ -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);

View File

@ -9,6 +9,9 @@ namespace Falcon.Extend.Tests
[TestClass()]
public class AESCryptoServiceTests
{
/// <summary>
/// 测试可用性
/// </summary>
[TestMethod()]
public void EncryptTest() {
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);
}
}
}