1

我们正在创建一个用户登录和注册系统,并决定绕过 Django 的身份验证(出于一些原因,这超出了这个问题的范围)。

我们仍然需要对密码进行加密,并且仍然希望使用 auth 实现的加密(我相信 pbkdf2_sha256)。我们可以自己推出,但如果可以的话,我们宁愿使用 Django(同样,不使用 auth 包)。

查看我们的 Django 安装(我们有 1.4.1,最新版本),我们找到了 auth 文件夹(和一个名为 hashers.py 的文件),但是,对于 python 来说,不太确定从这里去哪里加密我们的密码。

谢谢!

编辑:

根据收到的评论和回答,我决定使用内置的方法和表格。

4

1 回答 1

3

如果您查看django's 的源代码set_password,您会发现它调用了该make_password函数,这可能就是您要查找的内容。

然后您可以使用djangocheck_password来验证密码。

这确实增加了对 的依赖django.contrib.auth,因为这些函数是在 中定义的django.contrib.auth.hashers,但这是 Django 中的标准,所以我认为这不是问题。此外,django.contrib.auth.hashers不依赖于任何来自django.contrib.auth.

然而,我只能支持在评论中给你的建议,你可能应该使用默认的 django auth 包- 特别是考虑到我们在这里谈论安全关键部分。

顺便说一句,用于散列密码的算法实际上是由设置控制PASSWORD_HASHERS

于 2012-09-16T16:38:27.757 回答