本文主要是介绍小程序 自定义前后端通信加密,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
为了避免小程序与开发者后台通信时数据被截取和篡改,微信侧维护了一个用户维度的可靠key,用于小程序和后台通信时进行加密和签名。
开发者可以分别通过小程序前端和微信后台提供的接口,获取用户的加密key。
1、自定义加密解密
const somedata = 'xxxxx'
const userCryptoManager = wx.getUserCryptoManager()
userCryptoManager.getLatestUserKey({
success({encryptKey, iv, version, expireTime}) {
const encryptedData = 自定义加密(encryptKey, iv, somedata)
wx.request({
data: encryptedData,
success(res) {
const decryptedData = 自定义解密(encryptKey, iv, res.data)
console.log(decryptedData)
}
})
}
})
开源加密库: https://github.com/flash1293/aes-wasm https://github.com/ricmoo/aes-js
2、服务端
在开发者服务端,可以调用getUserEncryptKey后台接口获取用户最近三次的key。
在获取key的同时,接口会携带version信息,开发者可以比较version版本来选择使用对应的key对数据进行加解密。
curl -X POST "https://api.weixin.qq.com/wxa/business/getuserencryptkey?access_token=ACCESS_TOKEN&openid=OPENID&signature=SIGNATURE&sig_method=hmac_sha256"
这篇关于小程序 自定义前后端通信加密的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!