encrypt.js 974 B

1234567891011121314151617181920212223242526
  1. import CryptoJS from 'crypto-js'
  2. const key = CryptoJS.enc.Utf8.parse('dmngJmmO+9GMw+tu')
  3. const iv = CryptoJS.enc.Utf8.parse('sanXyqhk8+U7LPP4')
  4. // AES加密
  5. export const encryptByAes = pwd => {
  6. let encrypted = ''
  7. if (typeof pwd === 'string') {
  8. const srcs = CryptoJS.enc.Utf8.parse(pwd)
  9. const options = {
  10. iv: iv,
  11. mode: CryptoJS.mode.CBC, // 使用CBC模式
  12. padding: CryptoJS.pad.Pkcs7 // 使用PKCS7填充
  13. }
  14. encrypted = CryptoJS.AES.encrypt(srcs, key, options)
  15. } else if (typeof pwd === 'object') {
  16. const data = JSON.stringify(pwd)
  17. const srcs = CryptoJS.enc.Utf8.parse(data)
  18. const options = {
  19. iv: iv,
  20. mode: CryptoJS.mode.CBC, // 使用CBC模式
  21. padding: CryptoJS.pad.Pkcs7 // 使用PKCS7填充
  22. }
  23. encrypted = CryptoJS.AES.encrypt(srcs, key, options)
  24. }
  25. return encrypted.ciphertext.toString(CryptoJS.enc.Base64)
  26. }