加入测试,要求aes加密为不稳定加密。及相同条件每次加密出结果不同
This commit is contained in:
parent
3f1abae89b
commit
d49a44384c
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user