Encryption.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Security.Cryptography;
  3. using System.Text;
  4. namespace Infrastructure
  5. {
  6. public class Encryption
  7. {
  8. private static string encryptKey = "4h!@w$rng,i#$@x1%)5^3(7*5P31/Ee0";
  9. //默认密钥向量
  10. private static byte[] Keys = { 0x41, 0x72, 0x65, 0x79, 0x6F, 0x75, 0x6D, 0x79, 0x53, 0x6E, 0x6F, 0x77, 0x6D, 0x61, 0x6E, 0x3F };
  11. /// <summary>
  12. /// 加密
  13. /// </summary>
  14. /// <param name="encryptString"></param>
  15. /// <returns></returns>
  16. public static string Encrypt(string encryptString)
  17. {
  18. if (string.IsNullOrEmpty(encryptString))
  19. return string.Empty;
  20. RijndaelManaged rijndaelProvider = new RijndaelManaged();
  21. rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
  22. rijndaelProvider.IV = Keys;
  23. ICryptoTransform rijndaelEncrypt = rijndaelProvider.CreateEncryptor();
  24. byte[] inputData = Encoding.UTF8.GetBytes(encryptString);
  25. byte[] encryptedData = rijndaelEncrypt.TransformFinalBlock(inputData, 0, inputData.Length);
  26. return Convert.ToBase64String(encryptedData);
  27. }
  28. /// <summary>
  29. /// 解密
  30. /// </summary>
  31. /// <param name="decryptString"></param>
  32. /// <returns></returns>
  33. public static string Decrypt(string decryptString)
  34. {
  35. if (string.IsNullOrEmpty(decryptString))
  36. return string.Empty;
  37. try
  38. {
  39. RijndaelManaged rijndaelProvider = new RijndaelManaged();
  40. rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
  41. rijndaelProvider.IV = Keys;
  42. ICryptoTransform rijndaelDecrypt = rijndaelProvider.CreateDecryptor();
  43. byte[] inputData = Convert.FromBase64String(decryptString);
  44. byte[] decryptedData = rijndaelDecrypt.TransformFinalBlock(inputData, 0, inputData.Length);
  45. return Encoding.UTF8.GetString(decryptedData);
  46. }
  47. catch
  48. {
  49. return "";
  50. }
  51. }
  52. }
  53. }