Как сгенерировать пароль, который соответствует валидаторам auth в Django?

Я использовал User.objects.make_random_password() для генерации паролей для новых пользователей, однако я обнаружил, что этот метод создает пароли, которые не соответствуют валидаторам (AUTH_PASSWORD_VALIDATORS), настроенным в Django.

Я также пробовал использовать from django.contrib.auth.hashers import make_password, но хэшированный пароль не соответствует всем критериям проверки пароля, так как слишком длинный.

Я хочу знать, существует ли функция, которая создает пароли на основе AUTH_PASSWORD_VALIDATORS?.

Что ж, вам стоит попробовать создать свой собственный создатель паролей.

Попробуйте это. Я сделал для вас функцию для создания новых паролей .

import random 
def create_new_password():
    alphas = "abcdefghijklmnopqrstuvwxyz"
    alphas_cap = alphas.upper()
    numbers = "12345678901234567890123456"
    special_chars = "!@#$%^&*()_+/!@#$%^&*()_+/"
    password_characters = [alphas , alphas_cap , numbers , special_chars ]
    new_password = ""
    for i in range(16) : 
        n = random.randint(0,3)
        chars_used = password_characters[n]
        char = chars_used[random.randint(0,25)]
        new_password += char
    return new_password
print(create_new_password())
Вернуться на верх