все Python 3hashlibфункция
hashlib.md5()
хеширование
Создаёт объект MD5-хеша. Быстр, но не криптостоек — не используй для паролей. Подходит для контрольных сумм файлов.
Синтаксис
hashlib.md5(data=b'', *, usedforsecurity=True)
Хеш-объект принимает только bytes: hashlib.md5('текст') сразу падает с TypeError, строку нужно сначала закодировать через .encode(). Данные накапливаются — update() можно звать сколько угодно раз подряд, результат тот же, что от одного вызова со склеенной строкой, а hexdigest() состояние не сбрасывает и читается повторно. Поэтому большой файл хешируют не целиком в память, а кусками в цикле.
Примеры
import hashlib
h = hashlib.md5(b'hello world')
print(h.hexdigest()) # → 5eb63bbbe01eeed093cb22bb8f5acdc3
import hashlib
# хеш файла: файл читается в бинарном режиме
with open('file.txt', 'wb') as f:
f.write(b'hello world')
with open('file.txt', 'rb') as f:
print(hashlib.md5(f.read()).hexdigest()) # → 5eb63bbbe01eeed093cb22bb8f5acdc3
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности