java解密微信小程序encryptedData获取unionid遇坑

未关注微信小程序的主体公众号时,通过wx.getUserInfo方式获取unionid

java解密微信小程序encryptedData获取unionid遇坑_第1张图片

解密过程中踩坑记录

坑一:javax.crypto.BadPaddingException: pad block corrupted

原因:sessionKey与encryptedData,iv不匹配,解决:wx.login在wx.getUserInfo之前调用

坑二:java.lang.IllegalArgumentException: Null input buffer

原因:encryptedData末尾的等号由于前端使用小程序内嵌H5,小程序传参至H5时接受的encryptedData末尾的等号丢失,导致encryptedData错误,解决:前端将encryptedData与iv利用encodeURI编码传H5,H5进行decodeURI后调后端解密接口

iv末尾等号丢失解决办法同上

 

你可能感兴趣的:(java解密微信小程序encryptedData获取unionid遇坑)