摘要:問題描述最近在開發(fā)微信小程序涉及到加密數(shù)據(jù)的解密用的是代碼在運行后報錯提示方法已過時了經(jīng)研究得知是版本引起的可以使用方法代替解密首先要知道微信方使用的是加密的所以我們采用也應(yīng)該對應(yīng)對密文進(jìn)行解密需要解密的密文解密的初始向量解密得到的明文
問題描述
最近在開發(fā)微信小程序涉及到加密數(shù)據(jù)(encryptedData)的解密,用的是PHP代碼,在運行后報錯mcrypt_module_ xxx is deprecated,提示方法已過時了
經(jīng)研究得知,是php7.1版本引起的,可以使用openssl方法代替解密.
首先要知道微信方使用的是AES-128-CBC加密的:
??
所以我們采用openssl也應(yīng)該對應(yīng):
/** * 對密文進(jìn)行解密 * @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在調(diào)用這個方法之前就已經(jīng)把所有參數(shù)都base_decode了一次:
by KingFer
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29255.html
摘要:注沒有在微信開放平臺做開發(fā)者資質(zhì)認(rèn)證的就不要浪費時間了,沒認(rèn)證無法獲取,認(rèn)證費用元年,微信授權(quán)登錄流程第一步獲取用戶臨時登錄憑證第二步獲取加密過的數(shù)據(jù)和解密參數(shù)第三步把步驟一二中的傳到開發(fā)者自己服務(wù)端第三步服務(wù)端獲取到之后用方法請求如下微信 注:沒有在微信開放平臺做開發(fā)者資質(zhì)認(rèn)證的就不要浪費時間了,沒認(rèn)證無法獲取unionId,認(rèn)證費用300元/年,emmmm.... 微信授權(quán)登錄流程...
摘要:事先準(zhǔn)備工作申請一個小程序,申請地址傳送門仔細(xì)閱讀小程序的用戶授權(quán)登陸官方文檔用戶授權(quán)登陸的流程仔細(xì)閱讀微信用戶數(shù)據(jù)解密的相關(guān)文檔用戶數(shù)據(jù)解密說明文檔在小程序后臺配置好相應(yīng)的后端請求地址,路徑是開發(fā)開發(fā)設(shè)置,如圖小程序如果需要做多個 事先準(zhǔn)備工作 1.申請一個小程序,申請地址:傳送門 2.仔細(xì)閱讀小程序的用戶授權(quán)登陸官方文檔:《用戶授權(quán)登陸的流程》 3.仔細(xì)閱讀微信用戶數(shù)據(jù)解密的相關(guān)文...
摘要:文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號好好學(xué),獲取優(yōu)質(zhì)學(xué)習(xí)資源。一登錄流程圖二小程序客戶端獲取用戶信息非必填默認(rèn)為請求服務(wù)端的登錄接口臨時登錄憑證用戶非敏感信息簽名用戶敏感信息解密算法的向量調(diào)用服務(wù)端登錄接口 文章有不當(dāng)之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號:好好學(xué)java,獲取優(yōu)質(zhì)學(xué)習(xí)資源。 一、登錄流程圖 showImg(htt...
摘要:參考鏈接微信小程序七日談第五天你可能要在登錄功能上花費大力氣理解認(rèn)證及實踐網(wǎng)站微信登錄實現(xiàn)最后,感謝女朋友支持。 開發(fā)微信小程序時,接入小程序的授權(quán)登錄可以快速實現(xiàn)用戶注冊登錄的步驟,是快速建立用戶體系的重要一步。這篇文章將介紹 python + sanic + 微信小程序?qū)崿F(xiàn)用戶快速注冊登錄全棧方案。 微信小程序登錄時序圖如下: showImg(https://segmentfaul...
摘要:參考鏈接微信小程序七日談第五天你可能要在登錄功能上花費大力氣理解認(rèn)證及實踐網(wǎng)站微信登錄實現(xiàn)最后,感謝女朋友支持。 開發(fā)微信小程序時,接入小程序的授權(quán)登錄可以快速實現(xiàn)用戶注冊登錄的步驟,是快速建立用戶體系的重要一步。這篇文章將介紹 python + sanic + 微信小程序?qū)崿F(xiàn)用戶快速注冊登錄全棧方案。 微信小程序登錄時序圖如下: showImg(https://segmentfaul...
閱讀 4947·2021-11-25 09:43
閱讀 1193·2021-11-24 09:38
閱讀 1904·2021-09-30 09:54
閱讀 2813·2021-09-23 11:21
閱讀 2377·2021-09-10 10:51
閱讀 2377·2021-09-03 10:45
閱讀 1172·2019-08-30 15:52
閱讀 1775·2019-08-30 14:13