微信小程序获取手机号码解密失败

发布于 6 年前作者 jinli3100 次浏览最后编辑 6 年前来自 ask

<button open-type=“getPhoneNumber” ></button>

报错:javax.crypto.BadPaddingException: pad block corrupted

2 回复
zouxiulan
zouxiulan1 楼6 年前

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
官方文档说的注意事项:(多阅读几遍应该就能找到问题)
在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

qdeng
qdeng2 楼4 年前

这个异常通常是因为sessionKey 与 iv 不匹配导致的。

建议排查一下流程步骤。

如:wx.login() 与 code换取sessionKey的流程