HashUtil.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Security.Cryptography;
  3. using System.Text;
  4. namespace SiwiFms.Helper
  5. {
  6. /// <summary>
  7. /// 非对称加密算法
  8. /// </summary>
  9. /// <example>
  10. /// Encrypt.Md5 Or EncryPt.Sha1
  11. /// </example>
  12. /// <remarks>加密后的字符无法进行解密</remarks>
  13. public class HashUtil
  14. {
  15. /// <summary>
  16. /// Md5加密算法
  17. /// </summary>
  18. /// <param name="input">待加密的字符串</param>
  19. /// <returns>32位密码字符</returns>
  20. public static string Md5(string input)
  21. {
  22. MD5 md5Hasher = MD5.Create();
  23. byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  24. var sb = new StringBuilder();
  25. for (int i = 0; i < data.Length; i++)
  26. {
  27. sb.Append(data[i].ToString("X2"));
  28. }
  29. return sb.ToString();
  30. }
  31. /// <summary>
  32. /// SHA1加密算法
  33. /// </summary>
  34. /// <param name="input">待加密的字符串</param>
  35. /// <returns>40位密码字符</returns>
  36. public static string Sha1(string input)
  37. {
  38. SHA1 sha1Hasher = SHA1.Create();
  39. byte[] data = sha1Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  40. var sb = new StringBuilder();
  41. for (int i = 0; i < data.Length; i++)
  42. {
  43. sb.Append(data[i].ToString("X2"));
  44. }
  45. return sb.ToString();
  46. }
  47. /// <summary>
  48. /// SHA512加密算法
  49. /// </summary>
  50. /// <param name="input">待加密的字符串</param>
  51. /// <returns>128位加密字符</returns>
  52. public static string Sha512(string input)
  53. {
  54. SHA512 sha1Hasher = SHA512.Create();
  55. byte[] data = sha1Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  56. var sb = new StringBuilder();
  57. for (int i = 0; i < data.Length; i++)
  58. {
  59. sb.Append(data[i].ToString("X2"));
  60. }
  61. return sb.ToString();
  62. }
  63. public static string GetFileMd5(string filePath)
  64. {
  65. throw new NotImplementedException();
  66. }
  67. }
  68. }