mysql AES_DECRYPT

时间:2017-03-17 15:26:05

标签: php mysql

我在我的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')”作为关键。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

通常用于密码单向哈希使用。 这是一项安全措施,以确保如果有人进入您的服务器,他们无法解密密码。

在这种情况下,当用户在登录时输入密码时,您只需以相同的方式对其进行散列并比较散列值。

查看

http://php.net/manual/en/function.password-hash.php

http://php.net/manual/en/function.password-hash.php

对于php版本5.5 +