成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解

PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解

熱門標(biāo)簽:400電話申請(qǐng)辦理 福建高頻外呼防封系統(tǒng)哪家好 隨州銷售電銷機(jī)器人公司 外呼系統(tǒng)人工客服 百度地圖標(biāo)注類型是酒店 商丘外呼系統(tǒng)好處 網(wǎng)絡(luò)電話400申請(qǐng) 全國(guó)各省地圖標(biāo)注點(diǎn) 周口網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng)

概要:

php7.1發(fā)布后新特性吸引了不少PHPer,大家都在討論新特性帶來的好處與便利。但是從php7.0 升級(jí)到 php7.1 廢棄(過時(shí))了一個(gè)在過去普遍應(yīng)用的擴(kuò)展(mcrypt擴(kuò)展)。官方提供了相應(yīng)的解決提示,卻沒有提供更詳細(xì)的解決辦法。于是坑來了:

今天在使用微信開放平臺(tái)對(duì)接一個(gè)內(nèi)容管理系統(tǒng)的時(shí)候,在綁定公眾號(hào)的時(shí)候一直失敗

原因:

調(diào)試的時(shí)候發(fā)現(xiàn),直接原因是因?yàn)殚_放平臺(tái)里面填寫的授權(quán)事件(該授權(quán)事件每十分鐘會(huì)通送一次事件來更新ticket),即:

這個(gè)地方填寫的url,調(diào)試發(fā)現(xiàn),這個(gè)URL沒錯(cuò),微信也有每10分鐘推送過來,但是到最后一直接收不到ticket,看代碼發(fā)現(xiàn)是因?yàn)榻饷芪⑿胚^來的數(shù)據(jù)的時(shí)候報(bào)錯(cuò)了:

?php 
 
function aes_decode($message, $encodingaeskey = '', $appid = '') { 
 $key = base64_decode($encodingaeskey . '='); 
 
 $ciphertext_dec = base64_decode($message); 
 $iv = substr($key, 0, 16); 
 
 $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); 
 mcrypt_generic_init($module, $key, $iv); 
 $decrypted = mdecrypt_generic($module, $ciphertext_dec); 
 mcrypt_generic_deinit($module); 
 mcrypt_module_close($module); 
 
 $pad = ord(substr($decrypted, -1)); 
 if ($pad  1 || $pad > 32) { 
 $pad = 0; 
 } 

即這個(gè)地方,由于我的環(huán)境是PHP 7.1,查找資料發(fā)現(xiàn)PHP 7.1已經(jīng)廢棄了Mcrypt,所以這個(gè)代碼里面的mcrypt_*都是無法運(yùn)行的。

解決:

查找資料發(fā)現(xiàn),可以通過OpenSSL來代替Mcrypt(前提是已經(jīng)安裝了OpenSSL擴(kuò)展,不過一般都是默認(rèn)安裝的)

openssl是一個(gè)功能強(qiáng)大的工具包,它集成了眾多密碼算法及實(shí)用工具。我們即可以利用它提供的命令臺(tái)工具生成密鑰、證書來加密解密文件,也可以在利用其提供的API接口在代碼中對(duì)傳輸信息進(jìn)行加密。

所以上面的代碼可以改為:

?php 
 
function aes_decode($message, $encodingaeskey = '', $appid = '') { 
 $key = base64_decode($encodingaeskey . '='); 
 
 $ciphertext_dec = base64_decode($message); 
 $iv = substr($key, 0, 16); 
 
 /* mcrypt對(duì)稱解密代碼在PHP7.1已經(jīng)被拋棄了,所以使用下面的openssl來代替 
 $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); 
 mcrypt_generic_init($module, $key, $iv); 
 $decrypted = mdecrypt_generic($module, $ciphertext_dec); 
 mcrypt_generic_deinit($module); 
 mcrypt_module_close($module); 
 */ 
 $decrypted = openssl_decrypt($ciphertext_dec, 'AES-256-CBC', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv); 
 
 $pad = ord(substr($decrypted, -1)); 
 if ($pad  1 || $pad > 32) { 
 $pad = 0; 
 } 

補(bǔ)充:

上面的解密已經(jīng)修改了,那么對(duì)應(yīng)的Mcrypt加密也需要修改,如果不改的話會(huì)導(dǎo)致不能全網(wǎng)發(fā)布以及不能推送消息等事件
加密的源代碼如下:

?php 
function aes_encode($message, $encodingaeskey = '', $appid = '') { 
 $key = base64_decode($encodingaeskey . '='); 
 $text = random(16) . pack("N", strlen($message)) . $message . $appid; 
 $iv = substr($key, 0, 16); 
 
 $block_size = 32; 
 $text_length = strlen($text); 
 $amount_to_pad = $block_size - ($text_length % $block_size); 
 if ($amount_to_pad == 0) { 
 $amount_to_pad = $block_size; 
 } 
 $pad_chr = chr($amount_to_pad); 
 $tmp = ''; 
 for ($index = 0; $index  $amount_to_pad; $index++) { 
 $tmp .= $pad_chr; 
 } 
 $text = $text . $tmp; 
 $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); 
 $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); 
 mcrypt_generic_init($module, $key, $iv); 
 $encrypted = mcrypt_generic($module, $text); 
 mcrypt_generic_deinit($module); 
 mcrypt_module_close($module); 
 
 $encrypt_msg = base64_encode($encrypted); 
 return $encrypt_msg; 
} 

修改后的代碼為:

?php 
function aes_encode($message, $encodingaeskey = '', $appid = '') { 
 $key = base64_decode($encodingaeskey . '='); 
 $text = random(16) . pack("N", strlen($message)) . $message . $appid; 
 $iv = substr($key, 0, 16); 
 
 $block_size = 32; 
 $text_length = strlen($text); 
 $amount_to_pad = $block_size - ($text_length % $block_size); 
 if ($amount_to_pad == 0) { 
 $amount_to_pad = $block_size; 
 } 
 $pad_chr = chr($amount_to_pad); 
 $tmp = ''; 
 for ($index = 0; $index  $amount_to_pad; $index++) { 
 $tmp .= $pad_chr; 
 } 
 $text = $text . $tmp; 
 /* mcrypt對(duì)稱加密代碼在PHP7.1已經(jīng)被拋棄了,所以使用下面的openssl來代替 
 $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); 
 $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); 
 mcrypt_generic_init($module, $key, $iv); 
 $encrypted = mcrypt_generic($module, $text); 
 mcrypt_generic_deinit($module); 
 mcrypt_module_close($module); 
 */ 
 
 $encrypted = openssl_encrypt($text, 'AES-256-CBC', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv); 
 $encrypt_msg = base64_encode($encrypted); 
 return $encrypt_msg; 
} 

特別注意:凡是涉及到微信開發(fā)的流程,如果已經(jīng)升級(jí)到PHP 7.1的話,那么很有必要需要檢查一下是否是使用Mcrypt對(duì)稱加解密的,微信開發(fā)文檔中使用的demo也是使用Mcrypt加解密的,這一點(diǎn)需要注意。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • PHP擴(kuò)展mcrypt實(shí)現(xiàn)的AES加密功能示例
  • PHP7.1中使用openssl替換mcrypt的實(shí)例詳解
  • php基于mcrypt的加密解密實(shí)例
  • Linux下PHP安裝mcrypt擴(kuò)展模塊筆記
  • 淺析PHP安裝擴(kuò)展mcrypt以及相關(guān)依賴項(xiàng)(PHP安裝PECL擴(kuò)展的方法)
  • PHP安裝擴(kuò)展mcrypt以及相關(guān)依賴項(xiàng)深入講解

標(biāo)簽:迪慶 海南 六安 佛山 樂山 定西 十堰 南寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解》,本文關(guān)鍵詞  PHP,7.1,中,利用,OpenSSL,代替,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    91社区在线观看播放| 欧美午夜激情小视频| 欧美精品第一区| √…a在线天堂一区| 成人黄页毛片网站| 国产精品久久久亚洲一区| 中文字幕佐山爱一区二区免费| 国产呻吟对白刺激无套视频在线| 91精品国产自产拍在线观看蜜| 秋霞一区二区三区| 精品久久久久久无码人妻| 极品色影院av| 国产一区二区在线免费视频| 一级特黄特色的免费大片| 久久久精品久久久| 91爱爱小视频k| 精品少妇一区二区三区日产乱码| 91国偷自产中文字幕久久| 国产精品日韩一区二区| 欧美日本视频一区| 日韩福利一区二区三区| 国产超碰在线一区| 老司机精品福利视频| 91成人在线视频| 亚洲高清久久久久久| 人妻少妇被粗大爽9797pw| 中文字幕先锋av影音资源网| 欧美丝袜丝交足nylons| 亚洲精品无码专区| 亚洲日韩中文字幕一区| 亚洲国产精品网站| 亚洲综合日韩欧美| 国产精品黑丝在线播放| 黄色av片三级三级三级免费看| 国产精品我不卡| 含羞草久久爱69一区| 国产乱叫456在线| 国产成人综合精品| 日产精品久久久久久久性色| 99精品人妻国产毛片| 日韩乱码人妻无码中文字幕| 9久久婷婷国产综合精品性色| 日韩精品一区二区三区在线播放| 久久亚洲精选| 在线观看免费国产视频| 国产精品久久久久久久久久久免费看| 国产私人影院| 色狠狠久久aa北条麻妃| 成人综合久久网| 少妇免费视频| 强制捆绑调教一区二区| 在线观看污视频| 亚洲毛片一区| 国产精品av久久久久久无| 久久久久国内| 18岁免费网站| 日韩成人伦理电影在线观看| 中日韩视频在线观看| 国产区精品视频在线观看豆花| 影音先锋国产| 精品一区二区三区免费看| 国产精品高潮呻吟| 日韩欧美国产午夜精品| 国产视频一区二区在线观看| 欧美aaa大片视频一二区| 国产精品自在线拍| 国产欧美精品一区二区三区四区| 五月天黄色网址| 蜜桃精品视频在线观看| 欧洲成人免费视频| 国语自产精品视频在线看| 国产极品粉嫩福利姬萌白酱| 成人看片黄a免费看视频| 免费黄色三级网站| 成年人看的免费视频| 欧美日韩四区| 久久丫精品久久丫| 99精品视频在线播放免费| 色噜噜色狠狠狠狠狠综合色一| 制服丝袜中文字幕在线| 91欧美激情另类亚洲| 国产一二三av| 东京一区二区| 欧美午夜精品在线| 国产精品美女久久久久av爽| 日本高清视色| 国产精品美乳在线观看| 51国产成人精品午夜福中文下载| 最新成人av在线| 中文字幕日本人妻久久久免费| 黄色在线免费播放| 精品一区二区成人免费视频| 日韩一区精品字幕| 高清无码一区二区在线观看吞精| 欧美激情国产精品| 精品国产免费人成网站| 淫视频在线观看| 欧美一区二区三区四| 国产在线麻豆精品观看| 嫩草一区二区三区| 国产一区二区视频在线观看免费| 黑人操日本美女| eeuss网址直达入口| 欧美久久在线| 日韩和欧美的一区| 秋霞影院午夜丰满少妇在线视频| 日韩免费精品| 超碰个人在线| 欧洲成人在线观看| 亚洲综合在线网站| 91美剧网在线播放| 天天干天天操天天干天天操| 免费h精品视频在线播放| av网站在线免费播放| 久久久久久久精| 国产揄拍国内精品对白| 69av在线视频| 国产精品久久一卡二卡| 亚洲综合免费观看高清在线观看| 日韩成人黄色av| 欧美另类高清视频在线| 国产精品成人69xxx免费视频| 亚洲伊人网在线观看| 亚洲字幕av一区二区三区四区| 日本欧美韩国一区三区| 最近中文字幕av| 神马午夜一区二区| 国产一区欧美二区| 亚洲va久久久噜噜噜久久| 国产人妖乱国产精品人妖| 亚洲一区二区三区乱码aⅴ| wwwxxxx国产| 亚洲精品国精品久久99热| 亚洲九九在线| 国产传媒一区二区| 九色91视频| xxxxxhd亚洲人hd| 97碰碰碰免费色视频| jjzz在线观看| 久久久久久久性| 婷婷伊人综合中文字幕| av资源一区二区| 波多野结衣50连登视频| 无颜之月在线看| 伊人免费在线观看高清版| 国产精品无码av无码| 国产成人黄色| 久久91在线| 高清一区二区视频| 日本高清久久久| 色噜噜久久综合伊人一本| 亚洲国产精品久久久久爰色欲| 午夜免费看毛片| 国内自拍第二页| 国产亚洲精品精品国产亚洲综合| 久久精品aaaaaa毛片| 久久黄色av网站| 欧美亚洲自偷自偷| 中文字幕人成人乱码| 97人人精品| 国产欧美成人| 欧美日韩精品一本二本三本| 国产黄频在线观看| 久久久精品午夜少妇| 久久精品女人天堂av免费观看| 日韩一级成人av| 国产乱人伦偷精品视频免下载| 欧美日夜夜逼| 日韩欧美成人一区二区三区| 韩国日本一区| re久久精品视频| 91视频在线视频| 四季av在线一区二区三区| 欧洲亚洲免费视频| 国产欧美日韩亚洲| 福利视频网址导航| 日韩久久精品一区| 四虎永久免费在线观看| 18禁免费观看网站| 久久国产精品久久w女人spa| 成人美女在线观看| 欧美大片久久久| 亚洲国产一二三| 国产成人久久精品麻豆二区| 4438x成人网最大色成网站| 日本一二三区在线| 波多野结衣不卡| 亚洲天堂手机| 91久久精品www人人做人人爽| 欧美欧美全黄| 国产精品第十页| 国产伦精品一区二区三区照片91| www视频完整版| 日韩av黄色片| 国产剧情在线观看一区| 美女视频一区二区三区| 日韩黄色成人| 亚洲一区在线免费观看| 日韩在线观看视频免费| 日本久久久a级免费| 久久久久久婷婷| 久草国产在线观看| 亚洲欧美综合另类中字| 一色屋精品亚洲香蕉网站| 日日干夜夜操| 精品女厕一区二区三区| 男人的j进女人的j一区| 好了av在线| 欧美日韩黄色一区二区| 国产精品久久久久久久妇| 国产无人区码熟妇毛片多| 婷婷国产精品| 啊v视频在线| 成人a视频在线观看| 国产视频三区四区| 亚洲av成人精品日韩在线播放| 亚洲国产精品一区二区久久hs| fc2成人免费人成在线观看播放| 国产精品毛片久久久久久| 国产亚洲精品久久飘花| 91在线看视频| 国产精品电影一区| 欧美成人一区二区三区四区| 欧美精品videos另类| 91九色极品视频| 国产日韩在线观看一区| 日本在线视频观看| 欧美激情黑人| 国产欧美日韩久久| 九色porn| 欧美精品videosex性欧美| 成人免费在线视频网站| 热久久视久久精品18亚洲精品| 777精品伊人久久久久大香线蕉| 中文久久精品| 看全色黄大色大片| 91极品视频在线观看| yy6080久久伦理一区二区| 久久久无码精品亚洲国产| 九一亚洲精品| 精品久久久久久中文字幕| 日本精品国产| 天天综合国产| 欧美午夜宅男影院在线观看| 深夜福利网址| 国产精品激情自拍| 国产无套丰满白嫩对白| 免费在线看污片| 日韩在线播放av| 亚洲激情黄色| gogo人体一区| 五月天丁香综合久久国产| 亚洲精品动漫100p| 成人免费看片视频| 在线免费观看www| 欧美性生活大片视频| 日韩制服丝袜先锋影音| 中文字幕日韩欧美精品高清在线| 亚洲天堂在线播放| 开心九九激情九九欧美日韩精美视频电影| 亚洲熟女乱色一区二区三区| 午夜在线观看视频网站| 日本乱人伦一区| 日韩一级免费视频| 可以免费看不卡的av网站| 亚洲欧洲中文字幕| 亚洲国产成人自拍| 韩国精品福利一区二区三区| 日本成人中文字幕在线| 亚洲图片在线| 蜜桃传媒av| 国产精品777777在线播放| 2019av中文字幕| jizzjizz日本护士视频| japan乱配videos老少配| 欧美日韩国产欧美日美国产精品| 亚洲欧美在线人成swag| 国产精品久久麻豆| 一级毛片在线| 东京干手机福利视频| 午夜影院免费在线观看| 日韩肉感妇bbwbbwbbw| 爱情岛论坛亚洲自拍| 91视频免费观看| 免费看日本毛片| 婷婷在线播放| 福利视频在线| 1区1区3区4区产品乱码芒果精品| 能在线观看的av网站| 日韩av在线高清| xfplay先锋影音夜色资源站| av不卡免费看| 国产欧美一区二区三区在线观看视频| 色婷婷亚洲十月十月色天| 国产精品久久久久久久久免费桃花| 色素色在线综合| 老司机精品在线| 国产美女精品人人做人人爽| 久久综合九色综合网站| 成人国产激情| 欧美激情第99页| 在线观看欧美日韩| 国产另类xxxxhd高清| 成人免费视频视频| 丁香婷婷久久久综合精品国产| 又黄又湿又爽又免费又色| 黄色片网站免费| 久热国产精品视频一区二区三区| 日韩免费福利视频| 性活交片大全免费看| 成人无码www在线看免费| 岛国av一区二区| 欧美一区二区三区四区夜夜大片| 九九九久久久久久久| 一级女性全黄久久生活片免费| 国产日韩欧美在线观看视频| 免费黄色小视频在线观看| 日本在线电影一区二区三区| 精品久久人人做人人爰| 九色porny丨首页入口在线| 亚洲人妖av一区二区| 亚洲第一偷拍网| 久久精品五月婷婷| www.日韩不卡电影av| 亚洲天堂免费看| 97色成人综合网站| 91av视频在线| 欧美岛国在线观看|