外部脚本的 Moodle 密码检查

Moodle password check on external script

我有 Moodle 2.7。用户登录名和密码哈希存储在 mdl_user table 中。我想创建可以检查登录名和密码是否正确的外部脚本。

如我所见-此 moodle 版本使用某些函数 php,例如 password_hash() 来生成密码哈希。

我的php版本是5.4所以我不能使用这个功能。所以我使用这个库 https://github.com/ircmaxell/password_compat 和这个代码

$password_hash = password_hash( $password , PASSWORD_DEFAULT, array());

问题是每次计算哈希值都不一样。所以我无法将此哈希与放置在 mdl_user table.

中的字符串进行比较

如果此函数类似于 password_hash() 原生于 PHP 的函数,则盐是 与哈希 一起生成的,并且盐是随机的。因此,比较 password_hash() 的 2 个单独调用的结果不会匹配。

您正在查找的函数 password_verify(),它获取输入的密码和数据库中的哈希值。如果此 returns 为真,则密码匹配。