/
vikpik
/
DOW_system
Обзор
Документация
Войти
/
vikpik
/
DOW_system
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
utils/security.py
35 строк
1 KB
vikpik
Полное обновление проекта
20 май 2026, 22:03
20 май 2026, 22:03
d7695ce
Код
Авторство
О чём код?
# utils/security.py import hashlib import secrets def hash_password(password: str) -> str: """ Хеширует пароль с солью. Возвращает строку вида: соль:хеш """ salt = secrets.token_hex(16) # 16 байт соли -> 32 символа hex hash_val = hashlib.pbkdf2_hmac( 'sha256', password.encode('utf-8'), salt.encode('utf-8'), 100000 # количество итераций ).hex() return f"{salt}:{hash_val}" def verify_password(stored: str, provided: str) -> bool: """ Проверяет соответствие пароля сохранённому хешу. stored - строка из БД (соль:хеш) provided - пароль, введённый пользователем """ try: salt, hash_val = stored.split(':') computed = hashlib.pbkdf2_hmac( 'sha256', provided.encode('utf-8'), salt.encode('utf-8'), 100000 ).hex() return computed == hash_val except Exception: return False