微信小程序Python解密encryptedData密文報錯

在使用微信官方提供的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接口即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章