问题描述
function encrypt($string) {
//Key
$key = "key";
//Encryption
$cipher_alg = MCRYPT_TRIPLEDES;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,MCRYPT_MODE_ECB),MCRYPT_RAND);
$encrypted_string = mcrypt_encrypt($cipher_alg,$key,$string,MCRYPT_MODE_ECB,$iv);
return base64_encode($encrypted_string);
return $encrypted_string;
}
桌面应用程序使用相同的方案来解密生成的字符串。较新版本的 PHP 不支持 mcrypt。如何替换此代码以获得相同的结果?
解决方法
基于 this site,mcrypt 已从 PHP 7.2(我假设您正在使用)中删除,而是添加到 PECL。假设您使用的是 Ubuntu 或类似设备,现在安装它的过程是安装以下依赖项:
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev
然后通过PECL安装mcrypt:
sudo pecl install mcrypt-1.0.1
来自 TechRepublic 的第一个链接上的视频也包含更多信息。