SysSecurityHelp.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Security.Cryptography;
  7. using WMS.Util;
  8. namespace WMS.BZServices
  9. {
  10. public class SysSecurityHelp
  11. {
  12. const string AES256IV = "C686096CDBB34A77";
  13. const string AES256Key = "C628CE01C4F84037BEA124C90B3EE1FC";
  14. public static string Aes256Encrypt(string EncryptText)
  15. {
  16. try
  17. {
  18. return SecurityUtil.AesEncrypt(EncryptText, AES256Key, AES256IV);
  19. }
  20. catch (Exception ex)
  21. {
  22. throw ex;
  23. }
  24. }
  25. public static string Aes256Decrypt(string DecryptText)
  26. {
  27. try
  28. {
  29. return SecurityUtil.AesDecrypt(DecryptText, AES256Key, AES256IV);
  30. }
  31. catch (Exception ex)
  32. {
  33. throw ex;
  34. }
  35. }
  36. public static string Aes256Encrypt(string EncryptText, string AES256Key)
  37. {
  38. try
  39. {
  40. return SecurityUtil.AesEncrypt(EncryptText, AES256Key, AES256IV);
  41. }
  42. catch (Exception ex)
  43. {
  44. throw ex;
  45. }
  46. }
  47. public static string Aes256Decrypt(string DecryptText, string AES256Key)
  48. {
  49. try
  50. {
  51. return SecurityUtil.AesDecrypt(DecryptText, AES256Key, AES256IV);
  52. }
  53. catch (Exception ex)
  54. {
  55. throw ex;
  56. }
  57. }
  58. #region "MD5加密"
  59. /// <summary>
  60. /// MD5加密
  61. /// </summary>
  62. /// <param name="str">加密字符</param>
  63. /// <param name="code">加密位数16/32</param>
  64. /// <returns></returns>
  65. public static string Encrypt(string str, int code)
  66. {
  67. string strEncrypt = string.Empty;
  68. if (code == 16)
  69. {
  70. strEncrypt = Hash(str).Substring(8, 16);
  71. }
  72. if (code == 32)
  73. {
  74. strEncrypt = Hash(str);
  75. }
  76. return strEncrypt;
  77. }
  78. /// <summary>
  79. /// 32位MD5加密(小写)
  80. /// </summary>
  81. /// <param name="input">输入字段</param>
  82. /// <returns></returns>
  83. public static string Hash(string input)
  84. {
  85. var md5Hasher = MD5.Create();
  86. byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  87. StringBuilder sBuilder = new StringBuilder();
  88. for (int i = 0; i < data.Length; i++)
  89. {
  90. sBuilder.Append(data[i].ToString("x2"));
  91. }
  92. return sBuilder.ToString();
  93. }
  94. #endregion
  95. }
  96. }