Crypto.js 797 B

12345678910111213141516171819202122232425262728293031
  1. const crypto = require('crypto')
  2. const KEY_STR = 'Wet2C8d34f62ndi3'
  3. const IV_STR = 'K6iv85jBD8jgf32D'
  4. const KEY = Buffer.from(KEY_STR, 'utf-8')
  5. const IV = Buffer.from(IV_STR, 'utf-8')
  6. /**
  7. * AES 解密(客户端上传的 reqData / resData)
  8. */
  9. function dataDecrypt(encryptedBase64Text) {
  10. try {
  11. const encryptedBuffer = Buffer.from(encryptedBase64Text, 'base64')
  12. const decipher = crypto.createDecipheriv('aes-128-cbc', KEY, IV)
  13. decipher.setAutoPadding(true)
  14. let decrypted = decipher.update(encryptedBuffer)
  15. decrypted = Buffer.concat([decrypted, decipher.final()])
  16. return decrypted.toString('utf-8')
  17. } catch (err) {
  18. console.error('解密失败:', err.message)
  19. return null
  20. }
  21. }
  22. module.exports = {
  23. dataDecrypt
  24. }