secret.js 1.2 KB

12345678910111213141516171819202122232425262728
  1. //引入crypto-js
  2. import CryptoJS from '@/utils/crypto-js.js';
  3. // //十六位十六进制数作为密钥(秘钥为随机生成,必须与后端保持一致!)
  4. // const key = 'J4ny0Ja678Y7P2so';
  5. // //十六位十六进制数作为密钥偏移量(秘钥为随机生成,必须与后端保持一致!)
  6. // const iv = 'pTNorfvZW2UZJbd0';
  7. const key = CryptoJS.enc.Utf8.parse("J4ny0Ja678Y7P2so"); //十六位十六进制数作为密钥
  8. const iv = CryptoJS.enc.Utf8.parse('pTNorfvZW2UZJbd0'); //十六位十六进制数作为密钥偏移量
  9. //解密方法
  10. function Decrypt(word) {
  11. let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
  12. let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  13. let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
  14. let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  15. return decryptedStr.toString();
  16. }
  17. //加密方法
  18. function Encrypt(word) {
  19. let srcs = CryptoJS.enc.Utf8.parse(word);
  20. let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
  21. return encrypted.ciphertext.toString().toUpperCase();
  22. }
  23. export {Decrypt , Encrypt}