aes.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import CryptoJS from 'crypto-js/crypto-js'
  2. const KEY = CryptoJS.enc.Utf8.parse("v80v8g2ta05rrg2k");// 密钥 长度必须为16位
  3. const IV = CryptoJS.enc.Utf8.parse("6gycoeef15nql8ab"); // 初始向量 长度随意
  4. export default { //加密
  5. encrypt(word) {
  6. let key = KEY
  7. let iv = IV
  8. let srcs = CryptoJS.enc.Utf8.parse(word);
  9. var encrypted = CryptoJS.AES.encrypt(srcs, key, {
  10. iv: iv,
  11. mode: CryptoJS.mode.CBC,
  12. padding: CryptoJS.pad.ZeroPadding
  13. });
  14. // console.log("-=-=-=-", encrypted.ciphertext)
  15. return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
  16. },
  17. //解密
  18. decrypt(word) {
  19. let key = KEY
  20. let iv = IV
  21. let base64 = CryptoJS.enc.Base64.parse(word);
  22. let src = CryptoJS.enc.Base64.stringify(base64);
  23. var decrypt = CryptoJS.AES.decrypt(src, key, {
  24. iv: iv,
  25. mode: CryptoJS.mode.CBC,
  26. padding: CryptoJS.pad.ZeroPadding
  27. });
  28. var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  29. return decryptedStr.toString();
  30. }
  31. }