aes_endecrypt.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /**
  2. * 工具类
  3. */
  4. import CryptoJS from '@/store/crypto-js.js'
  5. let keyStr = "AqbGORctm3blztje";//加密密钥
  6. let ivStr = "VZY8Kg09yRb5HzqS";//矢量
  7. //加密
  8. export function aes_encrypt(word){
  9. keyStr = keyStr ? keyStr : 'hfhfuu8dolv98bt6';
  10. var key = CryptoJS.enc.Utf8.parse(keyStr);
  11. var iv = CryptoJS.enc.Utf8.parse(ivStr);
  12. // var srcs = CryptoJS.enc.Utf8.parse(word);
  13. var encrypted = CryptoJS.AES.encrypt(word, key, {
  14. iv:iv,
  15. mode:CryptoJS.mode.CBC,
  16. padding: CryptoJS.pad.Pkcs7});
  17. return encrypted.toString();
  18. }
  19. //解密
  20. export function aes_decrypt(word){
  21. keyStr = keyStr ? keyStr : 'hfhfuu8dolv98bt6';
  22. var key = CryptoJS.enc.Utf8.parse(keyStr);//
  23. var iv = CryptoJS.enc.Utf8.parse(ivStr);
  24. // const restoreBase64 = word.replace(/\-/g,'+').replace(/_/g,'/');
  25. var restoreBase64=word.replace(/[\r\n]/g,'');
  26. var decrypt = CryptoJS.AES.decrypt(restoreBase64, key, {
  27. iv:iv,
  28. mode:CryptoJS.mode.CBC,
  29. padding: CryptoJS.pad.Pkcs7});
  30. // return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  31. //将字符串转化成数组
  32. return JSON.parse(CryptoJS.enc.Utf8.stringify(decrypt).toString());
  33. }