摘要:問題描述最近在開發微信小程序涉及到加密數據的解密用的是代碼在運行后報錯提示方法已過時了經研究得知是版本引起的可以使用方法代替解密首先要知道微信方使用的是加密的所以我們采用也應該對應對密文進行解密需要解密的密文解密的初始向量解密得到的明文
問題描述
最近在開發微信小程序涉及到加密數據(encryptedData)的解密,用的是PHP代碼,在運行后報錯mcrypt_module_ xxx is deprecated,提示方法已過時了
經研究得知,是php7.1版本引起的,可以使用openssl方法代替解密.
首先要知道微信方使用的是AES-128-CBC加密的:
??
所以我們采用openssl也應該對應:
/** * 對密文進行解密 * @param string $aesCipher 需要解密的密文 * @param string $aesIV 解密的初始向量 * @return string 解密得到的明文 */ public function decrypt( $aesCipher, $aesIV ) { try { // $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, "", MCRYPT_MODE_CBC, ""); // mcrypt_generic_init($module, $this->key, $aesIV); // //解密 // $decrypted = mdecrypt_generic($module, $aesCipher); // mcrypt_generic_deinit($module); // mcrypt_module_close($module); $decrypted = openssl_decrypt($aesCipher, "aes-128-cbc", $this->key, OPENSSL_RAW_DATA ,$aesIV); } catch (Exception $e) { return array(ErrorCode::$IllegalBuffer, null); } try { //去除補位字符 $pkc_encoder = new PKCS7Encoder; $result = $pkc_encoder->decode($decrypted); } catch (Exception $e) { //print $e; return array(ErrorCode::$IllegalBuffer, null); } return array(0, $result); }特別注意
很多解密失敗是因為在使用openssl_decrypt解密的時候又使用了一次base_decode,實際上微信demo在調用這個方法之前就已經把所有參數都base_decode了一次:
by KingFer
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29255.html
摘要:注沒有在微信開放平臺做開發者資質認證的就不要浪費時間了,沒認證無法獲取,認證費用元年,微信授權登錄流程第一步獲取用戶臨時登錄憑證第二步獲取加密過的數據和解密參數第三步把步驟一二中的傳到開發者自己服務端第三步服務端獲取到之后用方法請求如下微信 注:沒有在微信開放平臺做開發者資質認證的就不要浪費時間了,沒認證無法獲取unionId,認證費用300元/年,emmmm.... 微信授權登錄流程...
摘要:事先準備工作申請一個小程序,申請地址傳送門仔細閱讀小程序的用戶授權登陸官方文檔用戶授權登陸的流程仔細閱讀微信用戶數據解密的相關文檔用戶數據解密說明文檔在小程序后臺配置好相應的后端請求地址,路徑是開發開發設置,如圖小程序如果需要做多個 事先準備工作 1.申請一個小程序,申請地址:傳送門 2.仔細閱讀小程序的用戶授權登陸官方文檔:《用戶授權登陸的流程》 3.仔細閱讀微信用戶數據解密的相關文...
摘要:文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號好好學,獲取優質學習資源。一登錄流程圖二小程序客戶端獲取用戶信息非必填默認為請求服務端的登錄接口臨時登錄憑證用戶非敏感信息簽名用戶敏感信息解密算法的向量調用服務端登錄接口 文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號:好好學java,獲取優質學習資源。 一、登錄流程圖 showImg(htt...
摘要:參考鏈接微信小程序七日談第五天你可能要在登錄功能上花費大力氣理解認證及實踐網站微信登錄實現最后,感謝女朋友支持。 開發微信小程序時,接入小程序的授權登錄可以快速實現用戶注冊登錄的步驟,是快速建立用戶體系的重要一步。這篇文章將介紹 python + sanic + 微信小程序實現用戶快速注冊登錄全棧方案。 微信小程序登錄時序圖如下: showImg(https://segmentfaul...
摘要:參考鏈接微信小程序七日談第五天你可能要在登錄功能上花費大力氣理解認證及實踐網站微信登錄實現最后,感謝女朋友支持。 開發微信小程序時,接入小程序的授權登錄可以快速實現用戶注冊登錄的步驟,是快速建立用戶體系的重要一步。這篇文章將介紹 python + sanic + 微信小程序實現用戶快速注冊登錄全棧方案。 微信小程序登錄時序圖如下: showImg(https://segmentfaul...
閱讀 4933·2021-11-25 09:43
閱讀 1186·2021-11-24 09:38
閱讀 1892·2021-09-30 09:54
閱讀 2800·2021-09-23 11:21
閱讀 2367·2021-09-10 10:51
閱讀 2368·2021-09-03 10:45
閱讀 1163·2019-08-30 15:52
閱讀 1766·2019-08-30 14:13