2

我们有一个用 PHP 编写的系统,其中帐户密码存储为密码漩涡哈希的前 128 个字符。

我想过渡到使用 Django 处理登录,而不更改数据库或要求用户更改密码。此外,我更愿意坚持使用漩涡而不是 Django 内置的不太安全的哈希。我发现漩涡的 python (C) 实现似乎工作正常。

如何更改 Django 密码检查功能以使用 Whirlpool 而不是 SHA1/MD5?

4

1 回答 1

2

基本上,您想编写自己的身份验证后端。幸运的是,这可以很容易地完成。

这很简单:

class MyBackend:
    def authenticate(self, username=None, password=None):
        # Check the username/password and return a User.

AUTHENTICATION_BACKENDS然后你需要做的就是通过设置为指定后端类('django.contrib.auth.backends.YourCustomBackend',)

请参阅:http ://docs.djangoproject.com/en/dev/topics/auth/#specifying-authentication-backends

于 2010-02-22T21:40:40.993 回答