平安校园
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

37 line
1.4 KiB

  1. /**
  2. * 对页面上输入的密码进行加密传输给后台进行验证,对返回的数据进行解密,在页面展示
  3. */
  4. let CryptoJS = require('crypto-js'); // 引入AES源码js
  5. export default {
  6. /*
  7. * 对密码进行加密,传输给后台进行验证
  8. * @param {String} word 需要加密的密码
  9. * @param {String} keyStr 对密码加密的秘钥
  10. * @return {String} 加密的密文
  11. * */
  12. encrypt(word, keyStr) { // 加密
  13. keyStr = keyStr ? keyStr : 'abcd1234ABCDQGJ1';
  14. let key = CryptoJS.enc.Utf8.parse(keyStr);
  15. let srcs = CryptoJS.enc.Utf8.parse(word);
  16. let encrypted = CryptoJS.AES.encrypt(srcs, key, {
  17. mode: CryptoJS.mode.ECB,
  18. padding: CryptoJS.pad.Pkcs7
  19. });
  20. return encrypted.toString();
  21. },
  22. /*
  23. * 对加密之后的密文在页面上进行解密,以便用户进行修改
  24. * @param {String} word 需要加密的密码
  25. * @param {String} keyStr 对密码加密的秘钥
  26. * @return {String} 解密的明文
  27. * */
  28. decrypt(word, keyStr) { // 解密
  29. keyStr = keyStr ? keyStr : 'ABGHNJHGSHUYG12';
  30. let key = CryptoJS.enc.Utf8.parse(keyStr);
  31. let decrypt = CryptoJS.AES.decrypt(word, key, {
  32. mode: CryptoJS.mode.ECB,
  33. padding: CryptoJS.pad.Pkcs7
  34. });
  35. return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  36. },
  37. };