方式一:
RijndaelManaged rm = new RijndaelManaged();
private void Awake()
{
rm.BlockSize = 128;
rm.KeySize = 256;
rm.FeedbackSize = 128;
rm.Padding = PaddingMode.PKCS7;
rm.Mode = CipherMode.CBC;
rm.Key = (new SHA256Managed()).ComputeHash(Encoding.ASCII.GetBytes("2b58592aab597b16c0e04477"));
rm.IV = Encoding.ASCII.GetBytes("8d3affe547824a710817ccd46f");
}
//加密
public string AESEncrypt(string msg)
{
ICryptoTransform encryptor = rm.CreateEncryptor(rm.Key, rm.IV);
byte[] _bytes;
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
//解密
public string Encrypt(byte[] _bt)
{
byte[] bs = _bt;
RijndaelManaged aes256 = new RijndaelManaged();
aes256.Key = Encoding.UTF8.GetBytes("12345678901234567890123456789012");
aes256.Mode = CipherMode.ECB;
aes256.Padding = PaddingMode.PKCS7;
return Convert.ToBase64String(aes256.CreateEncryptor().TransformFinalBlock(bs, 0, bs.Length));
}
public byte[] Decrypt(string data)
{
byte[] bs = Convert.FromBase64String(data);
RijndaelManaged aes256 = new RijndaelManaged();
aes256.Key = Encoding.UTF8.GetBytes("12345678901234567890123456789012");
aes256.Mode = CipherMode.ECB;
aes256.Padding = PaddingMode.PKCS7;
return aes256.CreateDecryptor().TransformFinalBlock(bs, 0, bs.Length);
}
{
using (StreamWriter sw = new StreamWriter(csEncrypt))
{
sw.Write(msg);
}
_bytes = ms.ToArray();
}
}
return Convert.ToBase64String(_bytes);
}
方式二:
//解密
public string AESDecrtpt(byte[] msg)
{
ICryptoTransform ict = rm.CreateDecryptor(rm.Key, rm.IV);
string backString;
using (MemoryStream ms = new MemoryStream(msg))
{
using (CryptoStream cs = new CryptoStream(ms, ict, CryptoStreamMode.Read))
{
using (StreamReader sr = new StreamReader(cs))
{
backString = sr.ReadToEnd();
}
}
}
return backString;
}