171просмотров
4 июля 2025 г.
Score: 188
—— KDF: Формирование и шифрация паролей. Использовать простой SHA256 не рекомендуется, поэтому рассмотрим более надежные KDF. PBKDF2: Этот вариант подойдет даже для старых проектов. import hashlib
import os salt = os.urandom(16) # Случайная соль для каждого пароля hash = hashlib.pbkdf2_hmac('sha256', b'password123', salt, 100_000) # Хешируем пароль с использованием соли и большого количества итераций
scrypt: scrypt более устойчив к атакам с использованием видеокарт. import hashlib hash = hashlib.scrypt( b'password123', salt=os.urandom(16), n=2**14, r=8, p=1 # Параметры, определяющие сложность вычисления ) Argon2: Рекомендуется как современный и безопасный стандарт from argon2 import PasswordHasher ph = PasswordHasher() hash = ph.hash("password123") # Автоматически генерирует соль и настраивает параметры для безопасного хеширования Важные упоминания:
— Соль (salt): Для каждого пароля должна генерироваться уникальная случайная соль. — Количество итераций: Чем выше количество итераций (для PBKDF2 и scrypt), тем сложнее злоумышленнику взломать пароль. 🔴 : Habr
🔗 : CodingLite