當前位置:編程學習大全網 - 網站源碼 - 微信小程序 encryptedData 解密報錯 ILLEGAL_BUFFER 原因

微信小程序 encryptedData 解密報錯 ILLEGAL_BUFFER 原因

這種情況偶發,壹般發生在隔壹段時間之後第壹次登錄時。

導致問題的原因是 getUserInfo 放在了 wx.login 之前。 getUserInfo 獲取到 iv 和 encryptedData 傳給後臺。wx.login調用時用戶的 session_key 可能會被更新而致使舊 session_key 失效。這樣後臺再去解密的時候就等於在用新的 session_key 去解密舊的 session_key 加密的數據,就會報 ILLEGAL_BUFFER 錯誤。

正常的流程應該是:

很容易錯寫成在 wx.getUserInfo 的回調裏再調 wx.login 拿 code 再發送給服務器,這樣 getUserInfo 裏的 data 加密用的session_key就有可能跟解密的時候的 session_key 不壹致,因為 wx.login 有可能會刷新了 session_key

建議開發者提前進行 login;或者在回調中先使用 checkSession 進行登錄態檢查,避免 login 刷新登錄態。

  • 上一篇:Html迷宮源代碼
  • 下一篇:怎麽把google地圖加到網頁上去?
  • copyright 2024編程學習大全網