Falcon.Extend/Falcon.ExtendTests/AESCryptoServiceTests.cs

47 lines
1.6 KiB
C#

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Falcon.Extend;
using System;
using System.Collections.Generic;
using System.Text;
namespace Falcon.Extend.Tests
{
[TestClass()]
public class AESCryptoServiceTests
{
/// <summary>
/// 测试可用性
/// </summary>
[TestMethod()]
public void EncryptTest() {
ICryptoService service = new AESCryptoService();
var mw = new string[] { "abc","123","中文明文","中英文混编123abc","+-*/ _=-`~!@#$%^&*()" };
var keys = new string[] { Guid.NewGuid().ToString("N"),"123","0123456789012345678901234567890123456789" };
for(int i = 0;i < mw.Length;i++) {
for(int y = 0;y < keys.Length;y++) {
var mwn = mw[i];
var k = keys[y];
var miw = service.Encrypt(mwn,k);
var mwn1 = service.Decrypt(miw,k);
Assert.AreEqual(mwn,mwn1,$"明文有变化{k}_{mwn}{mwn1}");
}
}
}
/// <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);
}
}
}