未關注微信小程式的主體公衆号時,通過wx.getUserInfo方式擷取unionid
解密過程中踩坑記錄
坑一: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末尾等号丢失解決辦法同上