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부터 중단되었습니다. 원래 프로젝트(php5.6)에서 사용된 mcrypt_encrypt 및 mcrypt_decrypt 기능은 php7에 있습니다. 1 이후 환경에서 사용할 경우 해당 함수를 찾을 수 없다는 메시지가 표시되며, 대신 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=
************************복호화**************** **********
<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!