index.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import CryptoJS from 'crypto-js'
  2. export const formatGetParams = (params) => {
  3. const entries = Object.entries(params).filter(arr => {
  4. return (arr[1] - 0) === 0 || arr[1]
  5. }).map(arr => {
  6. return `${arr[0]}=${arr[1]}`
  7. })
  8. return entries.join('&')
  9. }
  10. // export const formatGetParams = (params) => {
  11. // const p = []
  12. // for (const key in params) {
  13. // if (Array.isArray(params[key])) {
  14. // params[key].forEach(i => {
  15. // p.push(key + '=' + i)
  16. // })
  17. // } else {
  18. // p.push(key + '=' + params[key])
  19. // }
  20. // }
  21. // return p.join('&')
  22. // }
  23. const desKey = 'fnFACVwC'
  24. const key = CryptoJS.enc.Hex.parse('TgxRS8DG65EjK8cpKTiPAw==') // 密钥
  25. const iv = CryptoJS.enc.Hex.parse('') // 偏移量
  26. // aes加密
  27. export function encrypt (word) {
  28. let encrypted = ''
  29. if (typeof word === 'string') {
  30. const key = CryptoJS.enc.Utf8.parse(desKey)
  31. console.log(word, desKey, 'aaaa')
  32. encrypted = CryptoJS.DES.encrypt(word, key, {
  33. mode: CryptoJS.mode.ECB,
  34. padding: CryptoJS.pad.Pkcs7
  35. })
  36. return encrypted.toString()
  37. // const srcs = CryptoJS.enc.Hex.parse(word)
  38. // // var encryptedBase64Str = CryptoJS.enc.Base64.stringify(srcs)
  39. // encrypted = CryptoJS.AES.encrypt(srcs, key, {
  40. // mode: CryptoJS.mode.ECB,
  41. // padding: CryptoJS.pad.ZeroPadding
  42. // })
  43. } else if (typeof word === 'object') {
  44. // 对象格式的转成json字符串
  45. const data = JSON.stringify(word)
  46. const srcs = CryptoJS.enc.Utf8.parse(data)
  47. encrypted = CryptoJS.AES.encrypt(srcs, key, {
  48. iv: iv,
  49. mode: CryptoJS.mode.ECB,
  50. padding: CryptoJS.pad.Pkcs7
  51. })
  52. }
  53. return encrypted.ciphertext.toString()
  54. }
  55. // aes解密
  56. export function decrypt (word) {
  57. const encryptedHexStr = CryptoJS.enc.Hex.parse(word)
  58. const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr)
  59. const decrypt = CryptoJS.AES.decrypt(srcs, key, {
  60. iv: iv,
  61. mode: CryptoJS.mode.CBC,
  62. padding: CryptoJS.pad.Pkcs7
  63. })
  64. const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
  65. return decryptedStr.toString()
  66. }