微信小程序手机号解密报错:pad block corrupted 解决方法

微信小程序手机号解密报错:pad block corrupted 解决方法

微信小程序获取用户手机号,后端解密手机号的时候偶尔会报错 javax.crypto.BadPaddingException: pad block corrupted

之前的获取流程是这样的:

先通过getPhoneNumber获取了手机号的加密数据。
然后才调用的wx.login获取code。
再通过code取到用户的session_key 。
最后再用session_key,手机号的加密数据和向量解密获取手机号。

以下为正确的流程

先才调用的wx.login获取code
然后再通过code取到用户的session_key 。
再通过getPhoneNumber获取了手机号的加密数据。
最后再用session_key,手机号的加密数据和向量解密获取手机号。

这是因为调用了wx.login后通过code获得的session_key是新的session_key.

所以,在调用wx.login之前获的加密数据不是用新得session_key加密的数据。

在调用wx.login之后获得的加密数据,才是新得的session_key加密的数据。

你可能感兴趣的:(微信原生小程序,小程序,微信)