我在我的mysql数据库中用AES_ENCRYPT保存了一个密码,现在我有一点功能来取回解密的密码。
这是功能
function get_clear_pw($tab,$param)
{
global $m;
if($_SESSION['APP4']['SITEID']<=0 or $_SESSION['ACTIVE_USER']['ID']<=0){ return 'no way'; }
$query[1]="WHERE `SITEID`='".$_SESSION['APP4']['SITEID']."' ";
$query[0]="SELECT AES_DECRYPT(PW,'mykey') FROM";
$resDB=app_db($m['ID'].'_SITE_'.$tab, $query, '');
$resDB=$resDB[0];
return $resDB;
}
结果
$pw=get_clear_pw('FTP',FALSE);
Print_r($pw)
我得到了这个
数组([AES_DECRYPT(PW,'meinkey')] =&gt;测试)
现在我想拥有echo $ pw =&gt; 'test'或echo $ pw [0] =&gt; '测试'
我不想把“AES_DECRYPT(PW,'mykey')”作为关键。
我该怎么做?
答案 0 :(得分:0)
通常用于密码单向哈希使用。 这是一项安全措施,以确保如果有人进入您的服务器,他们无法解密密码。
在这种情况下,当用户在登录时输入密码时,您只需以相同的方式对其进行散列并比较散列值。
查看
http://php.net/manual/en/function.password-hash.php
http://php.net/manual/en/function.password-hash.php
对于php版本5.5 +