concrete5创建与存储值相当的密码哈希值
问题描述:
我正在构建一个前端用户配置文件部分,用户可以在其中更改其登录密码。concrete5创建与存储值相当的密码哈希值
为了安全起见,我希望用户在输入新密码之前首先输入他的当前密码。
但我不知道如何加密密码的方式可以检查数据库中的值。用我的方法,我总是得到一个用相同的输入值生成的不同的字符串。
你有什么想法吗?
这里是我想现在:
$oldPassword = $ui->getUserPassword();
echo"<pre>"; var_dump($oldPassword); echo"</pre>";
$pw = User::getUserPasswordHasher();
//echo"<pre>"; var_dump($pw); echo"</pre>";
$controlPassword = User::getUserPasswordHasher()->HashPassword('stern3');
echo"<pre>"; var_dump($controlPassword); echo"</pre>";
我使用concrete5版本5.6.3.3。
答
我怎么能看到concrete5使用外部库Hautelook\Phpass\PasswordHash
这个类有方法CheckPassword
:
所以,你必须从数据库获取用户并运行此方法来比较密码哈希值。
我希望它会帮助
Thx!像魅力一样工作,并帮助我很多:) – Sebsemillia