все Python 3hashlibфункция
hashlib.sha256()
хеширование
Создаёт объект SHA-256 хеша. Криптографически стойкий алгоритм. Используй для проверки целостности данных и цифровых подписей.
Синтаксис
hashlib.sha256(data=b'')
Криптостойкость не делает SHA-256 годным для паролей — он слишком быстр, и перебор по словарю идёт миллионами хешей в секунду; для паролей есть hashlib.pbkdf2_hmac() и hashlib.scrypt() с намеренным замедлением и солью. Сравнивая секретные хеши, бери hmac.compare_digest(), а не ==: обычное сравнение обрывается на первом различии и выдаёт время подбора.
Примеры
import hashlib
h = hashlib.sha256(b'secret data')
print(len(h.hexdigest())) # → 64 — шестнадцатеричных символов
import hashlib
# постепенная загрузка большого файла: память не зависит от его размера
with open('bigfile.bin', 'wb') as f:
f.write(b'x' * 200_000)
h = hashlib.sha256()
with open('bigfile.bin', 'rb') as f:
for chunk in iter(lambda: f.read(65536), b''):
h.update(chunk)
print(h.hexdigest() == hashlib.sha256(b'x' * 200_000).hexdigest()) # → True
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности