Определение компонентов пароля
Кодовое слово (например, "bmw")
Статические данные с ПК (например, имя пользователя, имя компьютера, дата создания учетной записи и т. д.)
Пароль (например, "123123")
2. Генерация пароля
Вы можете создать функцию, которая будет комбинировать эти элементы для генерации пароля. Например:
import hashlib
def generate_password(code_word, static_data, user_password):
# Создание уникальной строки на основе входных данных
combined = f"{code_word}:{static_data}:{user_password}"
# Хеширование строки для получения пароля
password_hash = hashlib.sha256(combined.encode()).hexdigest()
return password_hash
3. Логика для восстановления пароля
Для восстановления пароля вам нужно будет проверить кодовое слово и сгенерировать тот же пароль, используя те же статические данные. Например:
def recover_password(code_word, static_data, user_password):
return generate_password(code_word, static_data, user_password)
4. Пример использования
# Пример статических данных
static_data = "user123" # Это может быть имя пользователя или имя компьютера
user_password = "123123" # Ваш исходный пароль
code_word = "bmw" # Кодовое слово
# Генерация пароля
generated_password = generate_password(code_word, static_data, user_password)
print(f"Сгенерированный пароль: {generated_password}")
# Восстановление пароля
recovered_password = recover_password(code_word, static_data, user_password)
print(f"Восстановленный пароль: {recovered_password}")
# Проверка
if generated_password == recovered_password:
print("Пароль успешно восстановлен!")
else:
print("Ошибка восстановления пароля.")