H5系统和微信小程序对接主要靠url传递重要信息,如果是非常重要的信息,比如支付参数,用户信息等就需要进行加密处理降低安全风险
- 安装crypto-js
npm install crypto-js --s
- 引入
import CryptoJS from 'crypto-js'
- 声明加密字段
const KEY = CryptoJS.enc.Utf8.parse("123456789abcd")
- 定义加密解密方法
//加密
encrypt(word) {
let srcs = CryptoJS.enc.Utf8.parse(word)
let encrypt = CryptoJS.AES.encrypt(srcs, KEY, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
return encrypt.toString()
},
//解密
decrypt(word) {
let decrypt = CryptoJS.AES.decrypt(word, KEY, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
return decryptedStr.toString()
}
直接使用方法传入要加密解密的字段就行了。
注意事项:
有些字段经过加密后会有“+”特殊符号,在传递这种加密字段到其他页面时,浏览器会自动把“+”替换为空字符串,可以写个方法判断加密字段开头是否有空字符串,如果有就要替换为“+”,这样就可以顺利解密了。