php替换mcrypt的方法:1、打开相应的php文件;2、找到原来的加密和解密代码;3、使用“openssl_encrypt”以及“openssl_decrypt”方法进行替代即可。

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。
php 怎么替换mcrypt?
php7.4中 mcrypt加解密替代方案
问题描述
立即学习“PHP免费学习笔记(深入)”;
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/**
* openssl_encrypt解密替代方法
* @param $str
* @param string $key
* @return string
*/
function des_decrypt($str, $key = 'uK9pFn56')
{
return openssl_decrypt(base64_decode($str), "DES-ECB", $key, OPENSSL_RAW_DATA, "");
}
var_dump(des_decrypt("BKG4i231OB0=")); //解密结果:123123推荐学习:《PHP视频教程》
以上就是php 怎么替换mcrypt的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号