Python Glossary English

все 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Сообщить о неточности