using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography; //必须有
using System.Text;
namespace testfengbianji
{
class EncryAndDecry
{
/// <summary>
3 /// 加密数据
4 /// </summary>
5 /// <param name="Text">要加密的内容</param>
6 /// <param name="sKey,必须为32位">key,必须为32位</param>
7 /// <returns></returns>
public string JiaAesEncrypt(string str, string key)
{
if (string.IsNullOrEmpty(str))
return null;
Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
RijndaelManaged rm = new RijndaelManaged
{
Key = Encoding.UTF8.GetBytes(key),
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
ICryptoTransform cTransform = rm.CreateEncryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray);
}
/// <summary>
/// AES 解密
/// </summary>
/// <param name="str">明文(待解密)</param>
/// <param name="key">密文</param> 与加密一直6 /// <param name="sKey,必须为32位">key,必须为32位</param>
/// <returns></returns>
public string JieAesDecrypt(string str, string key)
{
if (string.IsNullOrEmpty(str))
return null;
Byte[] toEncryptArray = Convert.FromBase64String(str);
RijndaelManaged rm = new RijndaelManaged
{
Key = Encoding.UTF8.GetBytes(key),
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
ICryptoTransform cTransform = rm.CreateDecryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
}
}
原文:https://www.cnblogs.com/longmi/p/14183211.html