Python 洗牌;密码散列器“;每小时Django
我正在尝试用Django创建一个网站,我看到,如果您更改默认的Django哈希程序,它也会自动为登录的用户更改它。例如,您有一个使用Bcrypt编码的用户密码,并且您在Django设置文件中使用Argon更改哈希器。下次用户登录时,Django将自动用Argon更改密码。基本上我想做的是每小时自动更改哈希程序 我尝试使用线程,但唯一的问题是需要重新启动服务器以应用新的哈希程序Python 洗牌;密码散列器“;每小时Django,python,django,hash,password-encryption,Python,Django,Hash,Password Encryption,我正在尝试用Django创建一个网站,我看到,如果您更改默认的Django哈希程序,它也会自动为登录的用户更改它。例如,您有一个使用Bcrypt编码的用户密码,并且您在Django设置文件中使用Argon更改哈希器。下次用户登录时,Django将自动用Argon更改密码。基本上我想做的是每小时自动更改哈希程序 我尝试使用线程,但唯一的问题是需要重新启动服务器以应用新的哈希程序 PASSWORD_HASHERS = [ 'django.contrib.auth.hashers.BCryptSHA2
PASSWORD_HASHERS = [
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
]
def randomizeHasher():
global PASSWORD_HASHERS
while(True):
hasher = PASSWORD_HASHERS
random.shuffle(hasher)
PASSWORD_HASHERS = hasher
time.sleep(20)
t = threading.Timer(0,randomizeHasher)
t.start()
您不应该在运行时更改应用程序中的设置
资料来源:
也就是说,考虑以下问题(无法测试)
用Crontab?我已经试过了,但我不知道如何使用itCheck:和Crontab?我已经试过了,但我不知道如何使用itCheck:
from django.conf import settings
settings.configure(PASSWORD_HASHERS=randomized_hashers)