加密算法 Md5 & Sha1

青旅半醒 2021-12-05 21:53 429阅读 0赞

MD5加密

使用MD5CryptoServiceProvider类

  1. 1 public static string Md5(string str)
  2. 2 {
  3. 3 var buffer = Encoding.UTF8.GetBytes(str);
  4. 4
  5. 5 MD5 md5 = new MD5CryptoServiceProvider();
  6. 6 byte[] bytes = md5.ComputeHash(buffer);
  7. 7
  8. 8 var sb = new StringBuilder();
  9. 9 foreach (var t in bytes)
  10. 10 {
  11. 11 sb.Append(t.ToString("X2"));
  12. 12 }
  13. 13 return sb.ToString().ToLower();
  14. 14 }

Sha1加密

SHA1,也是在System.Security.Cryptography程序集下提供的算法

  1. 1 /// <summary>
  2. 2 /// Sha1加密
  3. 3 /// </summary>
  4. 4 /// <param name="str">要加密的字符串</param>
  5. 5 /// <returns>加密后的十六进制的哈希散列(40个字符)</returns>
  6. 6 public static string Sha1(string str)
  7. 7 {
  8. 8 var buffer = Encoding.UTF8.GetBytes(str);
  9. 9
  10. 10 var sha1 = SHA1.Create();
  11. 11 var bytes = sha1.ComputeHash(buffer);
  12. 12
  13. 13 var stringBuilder = new StringBuilder();
  14. 14 foreach (var byt in bytes)
  15. 15 {
  16. 16 stringBuilder.Append(byt.ToString("X2"));
  17. 17 }
  18. 18
  19. 19 return stringBuilder.ToString().ToLower();
  20. 20 }

案例

685541-20190704102718820-1784558804.png

以上,bytes转string,也可以使用 BitConverter.ToString(bytes)

但是需要额外替换其中的特殊字符“-”,

  1. var encryptionStr = BitConverter.ToString(bytes).Replace("-", "").ToLower();

转载于:https://www.cnblogs.com/kybs0/p/11130848.html

发表评论

表情:
评论列表 (有 0 条评论,429人围观)

还没有评论,来说两句吧...

相关阅读