以下示例是我做的测试,第一种是无法解密的,第二种是可以解密的,为了简化代码去掉了wx.getSetting
的使用,实际是有的
无法解密:
// /app.js
const test = require("./utils/test.js");
App({
onLaunch(){
test.autoLogin()
}
})
// /utils/test.js
module.exports = {
autoLogin(){
wx.getUserInfo({
withCredentials: true,
complete: (res)=>{
//在这里得到的 res.encryptedData 和 res.iv 发给后端,后端解密失败
}
})
}
}
可以解密:
// /app.js
const test = require("./utils/test.js");
App({
onLaunch(){
test.autoLogin()
},
getUserInfo(fn){
wx.getUserInfo({
withCredentials: true,
complete: fn
})
},
})
// /utils/test.js
const app = getApp()
module.exports = {
autoLogin(fn){
app.getUserInfo((res)=>{
//在这里得到的 res.encryptedData 和 res.iv 发给后端,后端则可以解密!
})
}
}
请问这是为什么?后端没理由也没办法判断我是用哪种方法获得密文的呀...咋就出现了两种情况呢?第二种方法感觉好坑,都要封装一个库了,结果还要外部给提供一个函数,有什么办法能让第一种方法也能获取到正确的密文?