【发布时间】:2010-06-17 22:57:49
【问题描述】:
如何让 cakephp 的 Auth 组件创建、使用和存储带有密码的随机盐?
【问题讨论】:
-
如果有人发现这个并想用 CakePHP 2.x 做同样的事情,请参阅this question。
如何让 cakephp 的 Auth 组件创建、使用和存储带有密码的随机盐?
【问题讨论】:
您可以从这里开始 http://book.cakephp.org/view/566/Change-Hash-Function ,并将 $authenticate 变量设置为您的用户模型:
class User extends AppModel {
function hashPasswords($data) {
if (isset($data['User']['password'])) {
//Get the user to get the salt
$user = $this->findByUsername($data['User']['username']);
//Let's say you have a "salt" field in your db
$data['User']['password'] = md5($data['User']['password'].$user['User']['salt']);
return $data;
}
return $data;
}
}
【讨论】:
Auth 组件中没有这样的功能。看看Random String generator CakePHP component。
【讨论】:
如here 所述,研究覆盖 Auth 组件使用的哈希函数。
【讨论】: