/// AES加密
/// </summary>
/// <param name="inputdata">输入的数据</param>
/// <param name="iv">向量128位</param>
/// <param name="strKey">加密密钥</param>
/// <returns></returns>
public static byte[] AESEncrypt(byte[] inputdata, byte[] iv, string strKey)
{
//分组加密算法
SymmetricAlgorithm des = Rijndael.Create();
byte[] inputByteArray = inputdata;//得到需要加密的字节数组
//设置密钥及密钥向量
des.Key = Encoding.UTF8.GetBytes(strKey.Substring(, ));
des.IV = iv;
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, , inputByteArray.Length);
cs.FlushFinalBlock();
byte[] cipherBytes = ms.ToArray();//得到加密后的字节数组
cs.Close();
ms.Close();
return cipherBytes;
}
}
} /// <summary>
/// AES解密
/// </summary>
/// <param name="inputdata">输入的数据</param>
/// <param name="iv">向量128</param>
/// <param name="strKey">key</param>
/// <returns></returns>
public static byte[] AESDecrypt(byte[] inputdata, byte[] iv, string strKey)
{
SymmetricAlgorithm des = Rijndael.Create();
des.Key = Encoding.UTF8.GetBytes(strKey.Substring(, ));
des.IV = iv;
byte[] decryptBytes = new byte[inputdata.Length];
using (MemoryStream ms = new MemoryStream(inputdata))
{
using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Read))
{
cs.Read(decryptBytes, , decryptBytes.Length);
cs.Close();
ms.Close();
}
}
return decryptBytes;
}

最新文章

  1. SQL Server里在文件组间如何移动数据?
  2. 关于webapp的一点思考
  3. 【JAVA】LOG4J使用心得
  4. DB2查看用户表与指定用户表表结构
  5. js中的callback(阻塞同步或异步时使用)
  6. swift 截取字符串
  7. BZOJ1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛
  8. (七)《Java编程思想》——多态的缺陷
  9. memcached原理全面剖析
  10. objective-c 中代码块(blocks)
  11. C#读取excel等表格常用方法
  12. 用docker cluster store实现kuryr的共享subnet
  13. JSON-lib框架,转换JSON、XML不再困难
  14. yolov2训练ICDAR2011数据集
  15. 文本挖掘预处理之TF-IDF
  16. 【LeetCode】122. Best Time to Buy and Sell Stock II
  17. C++ 定时器Timer在项目中的使用
  18. Docker-CE-CentOS安装&amp;更新&amp;卸载
  19. BZOJ5212 ZJOI2018历史(LCT)
  20. LINUX下一款不错的网站压力测试工具webbench

热门文章

  1. spring-事务实现原理
  2. React native android 最常见的10个问题
  3. 通过一个表的id同时查询多个表的数据
  4. centos7.0 vsftp配置
  5. java全组合算法
  6. JavaScript DOM编程艺术-学习笔记(第十二章)
  7. JavaScript DOM编程艺术-学习笔记(总结一)
  8. Java. Warning – Build path specifies execution environment J2SE-1.5
  9. 《学习的艺术》 (The Art of Learning)——划小圈 (Making Smaller Circles)
  10. 学到的较复杂的 mysql 语名