mcrypt を php に置き換える方法: 1. 対応する php ファイルを開きます; 2. 元の暗号化コードと復号化コードを見つけます; 3. 「openssl_encrypt」および「openssl_decrypt」メソッドを使用して置き換えます。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
php mcrypt を置き換える方法は?
php7.4 での Mcrypt 暗号化と復号化の代替手段
問題の説明
mcrypt_encrypt 関数と mcrypt_decrypt 関数は、PHP 7.1.0 以降廃止されました。元のプロジェクト ( 6) php7.1 以降の環境で使用される mcrypt_encrypt および mcrypt_decrypt 関数は、関数が見つからないため、代わりに openssl_encrypt および openssl_decrypt を使用する必要があることを示すメッセージを表示します。
ソリューション
*********************暗号化*************** * *******
<?php /** * 原加密方法方法 * @param $str * @param string $key * @return string */ function des_encrypt($str, $key='uK9pFn56') { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB)); } $str = "123123"; var_dump(des_encrypt($str)); //加密结果:BKG4i231OB0=rree
************************復号化*********** * ************
<?php /** * openssl_encrypt加密替代方法 * @param $str * @param string $key * @return string */ function des_encrypt($str, $key = 'uK9pFn56') { return base64_encode(openssl_encrypt($str, "DES-ECB", $key, OPENSSL_RAW_DATA, "")); } $str = "123123"; var_dump(des_encrypt($str)); //加密结果:BKG4i231OB0=
/** * 原解密方法 * @param $str * @param string $key * @return string */ function des_decrypt($str, $key='uK9pFn56') { $str = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($str), MCRYPT_MODE_ECB); $len = strlen($str); $block = mcrypt_get_block_size('des', 'ecb'); $pad = ord($str[$len - 1]); return substr($str, 0, $len - $pad); } var_dump(des_decrypt("BKG4i231OB0=")); //解密结果:123123
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPでmcryptを置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。