EncryptUtil.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @file EncryptUtil.ts
  3. * @description 一些加密解密方法
  4. */
  5. export module EncryptUtil {
  6. /**
  7. * AES 加密
  8. * @param msg
  9. * @param key
  10. * @param iv
  11. * @returns
  12. */
  13. export function aesEncrypt(msg: string, key: string, iv: string): string {
  14. let encrypt = CryptoJS.AES.encrypt(msg, utf8Parse(key), {
  15. iv: utf8Parse(iv),
  16. mode: CryptoJS.mode.CBC,
  17. padding: CryptoJS.pad.Pkcs7
  18. });
  19. //console.log(encrypt.toString())
  20. return encrypt.toString();
  21. }
  22. /**
  23. * AES 解密
  24. * @param str
  25. * @param key
  26. * @param iv
  27. * @returns
  28. */
  29. export function aesDecrypt(str: string, key: string, iv: string): string {
  30. let decrypt = CryptoJS.AES.decrypt(str, utf8Parse(key), {
  31. iv: utf8Parse(iv),
  32. mode: CryptoJS.mode.CBC,
  33. padding: CryptoJS.pad.Pkcs7
  34. });
  35. return CryptoJS.enc.Utf8.stringify(decrypt);
  36. }
  37. function utf8Parse(utf8Str: string): string {
  38. return CryptoJS.enc.Utf8.parse(utf8Str);
  39. }
  40. }