1 /// <summary>
2 /// 256位AES加密
3 /// </summary>
4 /// <param name="toEncrypt"></param>
5 /// <returns></returns>
6 public static string Encrypt(
string toEncrypt,
string skey,
string IV)
7 {
8 //256-AES key
9 //byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678123456781234567812345678");
10 byte[] keyArray =
UTF8Encoding.UTF8.GetBytes(skey);
11 byte[] toEncryptArray =
UTF8Encoding.UTF8.GetBytes(toEncrypt);
12 byte[] ivArray = UTF8Encoding.UTF8.GetBytes(IV);
//1234567812345678
13
14 RijndaelManaged rDel =
new RijndaelManaged();
15 rDel.Key =
keyArray;
16 rDel.Mode =
CipherMode.CBC;
17 rDel.Padding =
PaddingMode.PKCS7;
18 rDel.IV =
ivArray;
19
20 ICryptoTransform cTransform =
rDel.CreateEncryptor();
21 byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray,
0, toEncryptArray.Length);
22
23 return Convert.ToBase64String(resultArray,
0, resultArray.Length);
24 }
/// <summary>
/// 256位AES解密
/// </summary>
/// <param name="toDecrypt"></param>
/// <returns></returns>
public static string Decrypt(
string toDecrypt,
string skey,
string IV)
{
//256-AES key
//byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678123456781234567812345678");
byte[] keyArray =
UTF8Encoding.UTF8.GetBytes(skey);
byte[] toDecryptArray =
Convert.FromBase64String(toDecrypt);
byte[] ivArray = UTF8Encoding.UTF8.GetBytes(IV);
//1234567812345678
RijndaelManaged rDel =
new RijndaelManaged();
rDel.Key =
keyArray;
rDel.Mode =
CipherMode.CBC;
rDel.Padding =
PaddingMode.PKCS7;
rDel.IV =
ivArray;
ICryptoTransform cTransform =
rDel.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toDecryptArray,
0, toDecryptArray.Length);
return UTF8Encoding.UTF8.GetString(resultArray);
}
转载于:https://www.cnblogs.com/ZkbFighting/p/11195337.html
相关资源:AES加解密小工具