/// <summary>
/// MD5函数
/// </summary>
/// <param name="str">原始字符串</param>
/// <returns>MD5结果</returns>
public static string MD5(string str)
{byte[] b = Encoding.UTF8.GetBytes(str);b = new MD5CryptoServiceProvider().ComputeHash(b);string ret = string.Empty;for (int i = 0; i < b.Length; i++){ret += b[i].ToString("x").PadLeft(2, '0');}return ret;
}/// <summary>
/// AES加密
/// </summary>
/// <param name="toEncrypt"></param>
/// <returns></returns>
public static string AesEncrypt(string toEncrypt)
{if (string.IsNullOrEmpty(toEncrypt)){return string.Empty;}try{byte[] keyArray = Encoding.UTF8.GetBytes(@"7BF45189A0ED4BD6BE7936EFD11169E7");byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);RijndaelManaged rDel = new RijndaelManaged();rDel.Key = keyArray;rDel.Mode = CipherMode.ECB;rDel.Padding = PaddingMode.PKCS7;ICryptoTransform cTransform = rDel.CreateEncryptor();byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return Convert.ToBase64String(resultArray, 0, resultArray.Length);}catch{return string.Empty;}
}/// <summary>
/// AES解密
/// </summary>
/// <param name="toDecrypt"></param>
/// <returns></returns>
public static string AesDecrypt(string toDecrypt)
{if (string.IsNullOrEmpty(toDecrypt)){return string.Empty;}try{byte[] keyArray = Encoding.UTF8.GetBytes(@"7BF45189A0ED4BD6BE7936EFD11169E7");byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);RijndaelManaged rDel = new RijndaelManaged();rDel.Key = keyArray;rDel.Mode = CipherMode.ECB;rDel.Padding = PaddingMode.PKCS7;ICryptoTransform cTransform = rDel.CreateDecryptor();byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);return UTF8Encoding.UTF8.GetString(resultArray);}catch{return string.Empty;}
}

转载于:https://www.cnblogs.com/z5337/p/11155137.html

[C#]加密解密 MD5、AES相关推荐

  1. (三)Kotlin加密/解密之AES和DES

    Kotlin加密/解密系列 (一)Kotlin加密/解密之ASCII码 (二)Kotlin加密/解密之凯撒加密算法 文章目录 Kotlin加密/解密系列 前言 一.加密算法 二.Base64编码 1. ...

  2. C#.Net中的加密解密(AES、DES、RSA、MD5)、数字证书、HTTPS

    一.信息安全的基本概念,以及为什么要使用加密? 1.信息安全的定义 保密性(Confidentiality)  只有你自己和你允许的人能看到相关的信息. 完整性(Integrity)  信息收发过程中 ...

  3. C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)

    一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...

  4. java编码解码加密解密--md5、SHA-256、SHA-512、MAC、DES、AES、RSA

    md5 md5是一种散列算法,不可逆,是一种消息摘要算法,生成的字节数组的长度是128位,也就是等于16个字节,那么有的字节转化为字符之后,这些字符不一定是存在于ascii码之中,通常为了便于输出,我 ...

  5. java php aes加密解密_php aes 加密解密可与java对接

    php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...

  6. iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全

    演示样例项目下载地址  https://github.com/cerastes/Encryption 1MD5 创建MD5类 #import <Foundation/Foundation.h&g ...

  7. DES加密解密与AES加密解密

    × 目录 [1]AES加密算法和DES加密算法的效率比较 [2]AES和DES加密解密代码 随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了 ...

  8. .Net(c#)加密解密之Aes和Des

    /// <summary> /// .Net加密解密帮助类 /// </summary> public class NetCryptoHelper { #region des实 ...

  9. php mcrypt aes,简单的PHP加密/解密(Mcrypt,AES)

    我正在寻找使用Mcrypt的简单但加密强大的AES实现AES. 希望将其归结为一对简单的函数,$garble = encrypt($key,$payload)和$payload = decrypt($ ...

  10. python加密解密(AES、DES、RSA)

    一.RSA python3 # -*-coding:utf-8 -*-import rsa from binascii import b2a_hex, a2b_hexclass rsacrypt(): ...

最新文章

  1. 经典SQL语句大全 收藏
  2. The Longest Increasing Subsequence (LIS)
  3. jquery中Live方法不可用,Jquery中Live方法失效
  4. php 不等于 的函数吗,PHP不常见的函数整理
  5. jQuery相当于对 javascript二次开发,所以基于 jQuery实现的各种插件直接调用即可...
  6. CH 5102Mobile Service题解
  7. ipcfg报错_ipcplwhl.dll
  8. 数据与运算(以及补码)
  9. Linux内存管理:Swap介绍以及如何使交换具有可扩展性
  10. sklearn之逻辑回归和岭回归
  11. run (牛客多校第二场)计数DP
  12. mysql2005安装asp_asp连接sql server2005数据库
  13. 2018抖音数据研究报告完整版,你喜欢的网红画像到底是怎样?
  14. spring如何实现注入
  15. excel 工作表保护密码破解代码
  16. python echarts接口_GitHub - jllan/pyecharts: Python Echarts Plotting Library
  17. Wav2KWS: Transfer Learning From Speech Representations for Keyword Spotting(2021)
  18. logback自定义日志格式
  19. 安卓app开机自启动代码
  20. 传世单机版怎么建立服务端?

热门文章

  1. mysql索引实例_mysql索引之十:Mysql 索引案例学习
  2. 计算机领域中所谓课机是指,1.计算机基础知识题及答案
  3. linux取消头文件链接,【原创】Linux下编译链接中常见问题总结
  4. mysql limitorderby
  5. 4.7 参数 VS 超参数
  6. java订单类_使用Java创建一个订单类代码实例
  7. NSX分布式防火墙是如何工作的?
  8. Java多线程学习总结(3)——Java线程的6种状态及切换
  9. Postman使用总结(1)——Postman 自动化测试小结
  10. Kubernetes学习总结(2)——Kubernetes设计架构