亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2017年03月10日 09:53:14   作者:管大俠  
這篇文章主要介紹了微信小程序 wx.login解密出現(xiàn)亂碼的問題解決辦法的相關(guān)資料,需要的朋友可以參考下

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

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

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

 

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

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

后來查詢微信開發(fā)者社區(qū),找到好多解密失敗。其中一個(gè)回答說是因?yàn)槎啻握{(diào)用wx.login之后導(dǎo)致的問題。

終于看到解決方案,于是趕緊去看我的代碼??墒遣檎野胩彀l(fā)現(xiàn)只調(diào)用了一次,根本不是這個(gè)問題。

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

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

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

 看到結(jié)果之后我就跟我的請(qǐng)求服務(wù)器的參數(shù)挨個(gè)對(duì)照,當(dāng)看到encryptData時(shí),發(fā)現(xiàn)了問題,文檔上寫的是應(yīng)該把encryptedData的值用于解密,而我則是把encryptData的值

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

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

 總結(jié)一下問題: 由于wx.getUserInfo()返回值中encryptData和encryptedData參數(shù)名稱過于相似,導(dǎo)致我用錯(cuò)變量,實(shí)在是不應(yīng)該。

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

 

  希望大家編碼的時(shí)候能夠細(xì)心一點(diǎn),不要犯我這樣的錯(cuò)誤。

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

相關(guān)文章

最新評(píng)論