【发布时间】:2014-12-11 23:44:37
【问题描述】:
也许是一个愚蠢的问题,但如果可能的话,使用用户名作为盐的一部分来编写 BasePasswordHasher 子类的最佳方法是什么?我正在从头开始重写一个网站,并在 php 中使用了这种方法。问题是在密码哈希中访问用户名。我真的很乐意解决这个问题,否则很多用户会丢失他们的密码,所以提前非常感谢!
PHP 代码:
function passHash($login, $pass)
{
return md5(md5($pass).'salt'.$login);
}
【问题讨论】:
-
你有这个原始算法吗?还有你到目前为止写的任何代码吗?
-
编辑了原始问题以包含原始代码。还没有开始实施它,因为那不是问题。我开始阅读docs.djangoproject.com/en/dev/topics/auth/passwords 并看到输入不包含用户对象,或者我可以使用的任何东西。我很新@Django。
-
Python 有一个 MD5 模块
import md5,为了在 django 视图中获取用户对象,您必须使用user_object = request.user之类的东西来获取它(很多有趣的东西通过请求)在您拥有用户对象后,您可以从中获取很多信息,例如user_object.username或user_object.is_authenticated() -
那么在登录过程的这个阶段request.user也是可用的吗?
-
嗯。我可以肯定地说这是可能的——我曾经运行过一个 Django 网站,该网站通过收购与一家 Rails 商店合并,并获得了其他几家初创公司的用户群,它们都有自己的哈希机制——但它已经足够长了,我不记得任何细节。
标签: python django django-authentication password-hash