Генератор случайных паролей Python

Генерируйте безопасные случайные пароли на Python. Научитесь использовать модуль случайных чисел вместе со строковыми константами для создания надежных инструментов безопасности.

Попробуйте в редакторе

Обзор

Генераторам паролей требуется доступ к функциям случайных чисел и сопоставление их с наборами символов ASCII.

Стандартная библиотека Python предоставляет «случайные» и «секреты» для выполнения объективного случайного выбора.

Для нужд криптографии или обеспечения высокой безопасности модуль «секретов» Python предпочтительнее «случайного», поскольку он криптографически надежен.

Код и вывод выполнения

Объединение прописных и строчных букв, цифр и символов для вывода 16-значной защищенной строки.

import random
import string

def generate_password(length=12):
    # Combine all character sets
    characters = string.ascii_letters + string.digits + string.punctuation
    
    # Randomly select characters until the desired length
    password = ''.join(random.choice(characters) for _ in range(length))
    return password

print("Generating 3 secure passwords:")
for i in range(3):
    print(f"Password {i+1}: {generate_password(16)}")
Терминальный выход
Generating 3 secure passwords:
Password 1: a!7T#nP@zQ8k*L1w
Password 2: xY9^vB4$mC2&pR5j
Password 3: dF3%hK6*tW9@nM1q
(Output will be random during real execution)

Пошаговая реализация

  • Автоматическое назначение учетных данных пользователя
  • Создание макетов данных для пакетов тестирования на проникновение
  • Скрипты утилит системного администратора для развертывания сервера

Часто задаваемые вопросы

Безопасен ли модуль «random» для настоящих паролей?

Модуль «random» является псевдослучайным. Для создания реальных безопасных паролей в рабочей среде вам следует использовать модуль Python secrets, который использует безопасную энтропию на уровне ОС.

Связанные темы