不推荐使用的mcrypt-extension 将根据此处发布的评论在PHP 7.2中删除.所以我正在寻找一种加密密码的替代方法.
现在我正在使用类似的东西
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, md5($key, true), $string, MCRYPT_MODE_CBC, $iv)
Run Code Online (Sandbox Code Playgroud)
我需要您对加密密码的最佳/最强方式的意见,加密密码当然应该由PHP 7.xx支持,并且还应该是可解密的,因为我的客户确实想要选择"恢复"他们的密码而不生成新的密码一.
我收到以下2个错误
注意:未定义的属性:User :: $ username致命错误:调用未定义的函数mcrypt_create_iv()
我无法弄清楚它是什么......我已经在其他2台服务器上安装了这个软件而没有任何问题.
这是它应该是脚本的一部分
function set_user_cookie(){
global $USER_COOKIE,$COOKIE_PATH,$COOKIE_DOMAIN,$COOKIE_KEY;
$cookie = "email=".urlencode($this->email)."&uid=$this->id&seclev=$this->seclev&username=$this->username";
if (isset($COOKIE_KEY)) {
$iv = mcrypt_create_iv(mcrypt_get_iv_size (MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND);
$cookie = base64_encode(mcrypt_encrypt (MCRYPT_BLOWFISH, $COOKIE_KEY, $cookie, MCRYPT_MODE_ECB, $iv));
}
$expire = (time() + (3600 * 24 * 365 * 5));
setcookie($USER_COOKIE,$cookie,$expire,$COOKIE_PATH,$COOKIE_DOMAIN,0);
Run Code Online (Sandbox Code Playgroud)
}
我希望有人可以在这里帮助我,我对PHP很新:(