外部脚本上的Moodle密码检查


Moodle password check on external script

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

正如我所看到的,这个moodle版本使用一些函数php,如password_hash()来生成密码哈希。

我的php版本是5.4,所以我不能使用这个函数。所以我用这个图书馆https://github.com/ircmaxell/password_compat使用此代码

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

问题是,每次计算哈希值时,它都是不同的。所以我无法将这个哈希值与mdl_user表中的字符串进行比较。

如果此函数与PHP本机的password_hash()函数类似,则salt将与一起生成,并对salt进行随机化。因此,比较password_hash()的两个单独调用的结果将不匹配。

您要查找的函数password_verify(),它接受输入的密码和数据库上的哈希。如果返回true,则密码匹配。