亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php的mcrypt擴展已廢棄問題解決

發布時間:2020-07-22 09:39:05 來源:網絡 閱讀:637 作者:china_lx1 欄目:開發技術

php 的 mcrypt_ 函數簇在 7.1.0 版本中開始 deprecated,并在 7.2.0 版本中徹底廢棄。如果當前項目存在mcrypt_ encrypt這種函數又想更新php到最新版本


官方推薦使用openssl_encrypt/openssl_decrypt替代mcrypt_encryptmcrypt_decrypt


MCRYPT_RIJNDAEL_256 并不是 AES-256,如果想使用 mcrypt_簇 實現 AES-256,則你應該使用 MCRYPT_RIJNDAEL_128 算法 + 32位的 key,openssl_簇 則更為清晰的明確了各種模式。這里我整理了一下對應關系供大家參考:

MCRYPT_RIJNDAEL_128?&?CBC?+?16位Key?=?openssl_encrypt(AES-128-CBC,?16位Key)?=?AES-128
MCRYPT_RIJNDAEL_128?&?CBC?+?24位Key?=?openssl_encrypt(AES-192-CBC,?24位Key)?=?AES-192
MCRYPT_RIJNDAEL_128?&?CBC?+?32位Key?=?openssl_encrypt(AES-256-CBC,?32位Key)?=?AES-256


我們這里寫個例子


mcrypt代碼:

<?php

$key?=?'keykeykey';

//注意這里我使用的32位的key
$key?=?md5(md5($key)?.?'salt');

$iv?=?md5($key,?true);

$data?=?'asdfgh';

$encode?=?mcrypt_encrypt(MCRYPT_RIJNDAEL_128,?$key,?$data,?MCRYPT_MODE_CFB,?$iv);

$encode?=?base64_encode($encode);

echo?$encode?.?PHP_EOL;

//處理解密

$decode?=?mcrypt_decrypt(MCRYPT_RIJNDAEL_128,?$key,?base64_decode($encode),?MCRYPT_MODE_CFB,?$iv);

echo?$decode;

echo?PHP_EOL;


openssl代碼

$key?=?'keykeykey';
$key?=?md5(md5($key)?.?'salt');
$iv?=?md5($key,?true);

$data?=?'asdfgh';

$encode?=?openssl_encrypt($data,?'aes-256-cfb',?$key,?OPENSSL_RAW_DATA,?$iv);

//完美替換$encode?=?mcrypt_encrypt(MCRYPT_RIJNDAEL_128,?$key,?$data,?MCRYPT_MODE_CFB,?$iv);

$encode?=?base64_encode($encode);

echo?$encode?.?'<br>';

//解密

$decode?=?openssl_decrypt(base64_decode($encode),?'aes-256-cfb',?$key,?OPENSSL_RAW_DATA,?$iv);

echo?$decode;


重點是openssl這里,我使用的是aes-256-cfb(因為mcrypt那里使用的是32位的key,如果是16位的key請參考上面對應關系)



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵阳市| 垣曲县| 永德县| 定襄县| 巴彦淖尔市| 东乡| 大竹县| 苍溪县| 克什克腾旗| 定襄县| 织金县| 江华| 凤凰县| 五家渠市| 永修县| 台北县| 锦州市| 沅江市| 鲁甸县| 苗栗县| 阿拉尔市| 体育| 景东| 出国| 台湾省| 苗栗市| 盐津县| 华容县| 泰宁县| 广宗县| 高雄市| 开平市| 五莲县| 阳原县| 米易县| 新绛县| 蕉岭县| 萝北县| 九龙坡区| 葫芦岛市| 乳山市|