crypto.js 1021 B

12345678910111213141516171819202122232425262728293031323334
  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 options = {
  9. mode: CryptoJS.mode.ECB,
  10. padding: CryptoJS.pad.Pkcs7
  11. };
  12. var key = CryptoJS.enc.Utf8.parse(CRYPTOJS_KEY);
  13. var encryptedData = CryptoJS.AES.encrypt(plaintText, key, options);
  14. var encryptedBase64Str = encryptedData.toString().replace(/\//g, "_");
  15. encryptedBase64Str = encryptedBase64Str.replace(/\+/g, "-");
  16. return encryptedBase64Str;
  17. }
  18. //解密
  19. crypto.decrypt = (encryptedBase64Str) => {
  20. var vals = encryptedBase64Str.replace(/\-/g, '+').replace(/_/g, '/');
  21. var options = {
  22. mode: CryptoJS.mode.ECB,
  23. padding: CryptoJS.pad.Pkcs7
  24. };
  25. var key = CryptoJS.enc.Utf8.parse(CRYPTOJS_KEY);
  26. var decryptedData = CryptoJS.AES.decrypt(vals, key, options);
  27. var decryptedStr = CryptoJS.enc.Utf8.stringify(decryptedData);
  28. return decryptedStr
  29. }
  30. export default crypto