使用微信官方提供的sdk(python)解密encryptedData在密文中,报告编码的错误,事实上,这里是因为解密容是乱码,所以不能解码,那么为什么解密的明文会乱码呢?
小程序使用wx.getuserinfo接口获取encryptedData以对称加密的形式加密,这个秘密钥匙是session_key,session_key又是什么,session_key它是微信背景生成的秘密钥匙,我们正在使用它wx.login接口获取到code后,调用code2session接口,可获得session_key,这就是问题所在,wx.login每次调用后都会更新session_key,所以如果我们先调用wx.getuserinfo接口,获得encryptedData密文是旧的session_key加密,然后调用wx.login,session_key同时,我们将得到最新的更新session_key,拿最新的session_key要解密,就不能正常解密。
综上所述,我们应该先调用它wx.login,待成功返回code后,再调用wx.getuserinfo接口即可。