首页 > 其他 > 详细

AES加密与解密

时间:2020-12-24 12:35:27      阅读:43      评论:0      收藏:0      [点我收藏+]

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);
}

}
}

AES加密与解密

原文:https://www.cnblogs.com/longmi/p/14183211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!