crypto.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. var CryptoJS = require("crypto-js");
  2. console.log(CryptoJS.HmacSHA1("Message", "Key"));
  3. let crypto = {}
  4. //前后端定义的密钥,AES使用16位
  5. const CRYPTOJS_KEY = "uAY9ugkHQpvozZeA";
  6. // 加密
  7. crypto.encrypt = (plaintText) => {
  8. var plaintText = plaintText;
  9. var options = {
  10. mode: CryptoJS.mode.ECB,
  11. padding: CryptoJS.pad.Pkcs7
  12. };
  13. var key = CryptoJS.enc.Utf8.parse(CRYPTOJS_KEY);
  14. var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
  15. var encryptedBase64Str = encryptedData.toString().replace(/\//g, "_");
  16. encryptedBase64Str = encryptedBase64Str.replace(/\+/g, "-");
  17. return encryptedBase64Str;
  18. }
  19. //解密
  20. crypto.decrypt = (encryptedBase64Str) => {
  21. var vals = encryptedBase64Str.replace(/\-/g, '+').replace(/_/g, '/');
  22. var options = {
  23. mode: CryptoJS.mode.ECB,
  24. padding: CryptoJS.pad.Pkcs7
  25. };
  26. var key = CryptoJS.enc.Utf8.parse(CRYPTOJS_KEY);
  27. var decryptedData = CryptoJS.AES.decrypt(vals, key, options);
  28. var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData);
  29. return decryptedStr
  30. }
  31. export default crypto