我们为某人托管CakePHP网站。他们想要更改其帐户的密码,不幸的是原始开发人员没有在网站中构建此功能,所以我打算在PHPMyAdmin中更新密码。
我尝试输入密码,然后使用数据库中的MD5下拉列表对其进行哈希处理。我也试过SHA1,但是当我尝试登录前端时,它失败了。
如何判断系统使用何种类型的哈希方法?
答案 0 :(得分:0)
Cakephp使用PHP内置password_hash
方法的DefaultPasswordHasher。
您可以通过实现\ Cake \ Auth \ AbtrasctPasswordHasher并使用您的实现配置Auth组件来覆盖它
http://php.net/manual/en/function.password-hash.php https://github.com/cakephp/cakephp/blob/master/src/Auth/DefaultPasswordHasher.php#L49 实现自定义哈希 https://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-custom-password-hasher-classes
答案 1 :(得分:-1)
Cake正在使用blowfish生成密码哈希值。它每次都会生成一个不同的哈希,因为它能够将随机生成的盐存储为哈希的一部分。我在这里写了一个关于它是如何工作的解释:https://stackoverflow.com/a/22699357/2719538