RoadFlow2.1 临时演示

Encryption.cs 2.2KB

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