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 { /// /// 测试可用性 /// [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}"); } } } /// /// 测试加密稳定性 /// [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); } } }