AesEncryptionHelper.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. namespace OASystem.Infrastructure.Tools
  8. {
  9. /// <summary>
  10. /// Aes加密帮助类
  11. /// </summary>
  12. public static class AesEncryptionHelper
  13. {
  14. private readonly static string Key = "FANMEIGUOJIKEY01"; // 16 字节密钥
  15. private readonly static string IV = "FANMEIGUOJIIVV01"; // 16 字节向量
  16. /// <summary>
  17. /// 加密
  18. /// </summary>
  19. /// <param name="plainText"></param>
  20. /// <returns></returns>
  21. public static string Encrypt(string plainText)
  22. {
  23. using var aes = Aes.Create();
  24. aes.Key = Encoding.UTF8.GetBytes(Key);
  25. aes.IV = Encoding.UTF8.GetBytes(IV);
  26. using var encryptor = aes.CreateEncryptor();
  27. var plainBytes = Encoding.UTF8.GetBytes(plainText);
  28. var encryptedBytes = encryptor.TransformFinalBlock(plainBytes, 0, plainBytes.Length);
  29. return Convert.ToBase64String(encryptedBytes);
  30. }
  31. /// <summary>
  32. /// 解密
  33. /// </summary>
  34. /// <param name="cipherText"></param>
  35. /// <returns></returns>
  36. public static string Decrypt(string cipherText)
  37. {
  38. using var aes = Aes.Create();
  39. aes.Key = Encoding.UTF8.GetBytes(Key);
  40. aes.IV = Encoding.UTF8.GetBytes(IV);
  41. using var decryptor = aes.CreateDecryptor();
  42. var cipherBytes = Convert.FromBase64String(cipherText);
  43. var plainBytes = decryptor.TransformFinalBlock(cipherBytes, 0, cipherBytes.Length);
  44. return Encoding.UTF8.GetString(plainBytes);
  45. }
  46. }
  47. }