国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序 wx.login解密出現亂碼的問題解決辦法

2019-11-19 17:12:05
字體:
來源:轉載
供稿:網友

微信小程序 wx.login解密出現亂碼的問題解決辦法

最近在給公司開發(fā)微信小程序,需要用到微信登錄,根據文檔要求需要把獲取的用戶信息按照AES進行解密。

我使用的是官方提供的PHP demo,拷貝到程序中,測試發(fā)現,解密之后的數據前面有一串亂碼。

 

類似于這樣子的,前面一段是亂碼。

 經過仔細的檢查,發(fā)現官方的提供的demo中的帳號和機密之后的信息是可以解密的,這就說明解密代碼是沒有問題的。 

后來查詢微信開發(fā)者社區(qū),找到好多解密失敗。其中一個回答說是因為多次調用wx.login之后導致的問題。

終于看到解決方案,于是趕緊去看我的代碼。可是查找半天發(fā)現只調用了一次,根本不是這個問題。

有一次走到了死胡同,沒辦法了,還是看代碼吧。

根據文檔,應該是先調用wx.login(),成功之后再調用wx.getUserInfo(), 于是我就想,會不會是我把wx.getUserInfo()獲取到的值沒有正確的傳給服務器呢?

既然不確定,那就得看看。于是,打印wx.getUserInfo()的返回值,是這樣子的

 看到結果之后我就跟我的請求服務器的參數挨個對照,當看到encryptData時,發(fā)現了問題,文檔上寫的是應該把encryptedData的值用于解密,而我則是把encryptData的值

取出來了,所以解密結果就不正確了。

至此,發(fā)現問題,把參數改成encryptedData之后解密成功。

 總結一下問題: 由于wx.getUserInfo()返回值中encryptData和encryptedData參數名稱過于相似,導致我用錯變量,實在是不應該。

至于為什么微信要多返回一個沒用的參數(目前還沒發(fā)現它的作用),我就不知到了,而且文檔上根本就沒提到這個。

 

  希望大家編碼的時候能夠細心一點,不要犯我這樣的錯誤。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丰原市| 兴化市| 万州区| 建水县| 佛山市| 那坡县| 赤峰市| 竹山县| 舟山市| 平乐县| 肃南| 苍山县| 旅游| 延寿县| 滕州市| 新野县| 南川市| 宜都市| 来安县| 白山市| 新丰县| 肇州县| 普格县| 明水县| 扎兰屯市| 昌平区| 商都县| 石狮市| 威远县| 长汀县| 启东市| 泸溪县| 尼木县| 玛曲县| 托里县| 仲巴县| 西藏| 喀喇沁旗| 惠来县| 普安县| 勐海县|