Я пытаюсь создать сайт с Django, и я увидел, что если вы измените хеш-хэш django по умолчанию, он автоматически изменит его для пользователя, который тоже входит в систему. Например, у вас есть пароль пользователя, закодированный с помощью Bcrypt, и вы изменяете в файле настроек Django хеш-код с помощью Argon. В следующий раз, когда пользователь войдет в систему, Django автоматически изменит пароль для Argon. По сути, я хочу автоматически менять хэш каждый час.
Я пытался с потоками, но единственная проблема заключается в том, что мне нужно перезапустить сервер, чтобы применить новый хэш.
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()