md5.md
1> **Источник:** https://python-all.ru/2.7/library/md5.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 14.3. [`md5`](https://python-all.ru/2.7/library/md5.html#module-md5) – алгоритм дайджеста сообщений MD589Устарело с версии 2.5: Вместо этого используйте модуль [`hashlib`](https://python-all.ru/2.7/library/hashlib.html#module-hashlib).1011Этот модуль реализует интерфейс к алгоритму дайджеста сообщений MD5 от RSA (см. также Internet [**RFC 1321**](https://python-all.ru/2.7/library/md5.html)). Его использование довольно просто: используйте [`new()`](https://python-all.ru/2.7/library/new.html#module-new) для создания объекта md5. Затем этому объекту можно передавать произвольные строки с помощью метода `update()`, и в любой момент можно запросить *дайджест* (надёжный вид 128-битной контрольной суммы, также известный как «отпечаток») конкатенации строк, переданных ему на данный момент, с помощью метода `digest()`.1213Например, чтобы получить дайджест строки `'Nobody inspects the spammish repetition'`:1415```python16>>> import md517>>> m = md5.new()18>>> m.update("Nobody inspects")19>>> m.update(" the spammish repetition")20>>> m.digest()21'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'22```2324Более компактно:2526```python27>>> md5.new("Nobody inspects the spammish repetition").digest()28'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'29```3031Следующие значения предоставляются как константы в модуле и как атрибуты объектов md5, возвращаемых [`new()`](https://python-all.ru/2.7/library/new.html#module-new):3233#### `md5.digest_size`3435Размер результирующего дайджеста в байтах. Всегда равен `16`.3637Модуль md5 предоставляет следующие функции:3839#### `md5.new([arg])`4041Возвращает новый объект md5. Если присутствует *arg*, выполняется вызов метода `update(arg)`.4243#### `md5.md5([arg])`4445По причинам обратной совместимости это альтернативное имя функции [`new()`](https://python-all.ru/2.7/library/new.html#module-new).4647Объект md5 имеет следующие методы:4849#### `md5.update(arg)`5051Обновляет объект md5 строкой *arg*. Повторные вызовы эквивалентны одному вызову с конкатенацией всех аргументов: `m.update(a); m.update(b)` эквивалентно `m.update(a+b)`.5253#### `md5.digest()`5455Возвращает дайджест строк, переданных методу [`update()`](https://python-all.ru/2.7/library/md5.html#md5.md5.update) на данный момент. Это 16-байтовая строка, которая может содержать символы, отличные от ASCII, включая нулевые байты.5657#### `md5.hexdigest()`5859Как [`digest()`](https://python-all.ru/2.7/library/md5.html#md5.md5.digest), за исключением того, что дайджест возвращается в виде строки длиной 32, содержащей только шестнадцатеричные цифры. Это может использоваться для безопасного обмена значением по электронной почте или в других недвоичных средах.6061#### `md5.copy()`6263Возвращает копию («клон») объекта md5. Это можно использовать для эффективного вычисления дайджестов строк, имеющих общую начальную подстроку.6465> **См. также**66>67> **Модуль [`sha`](https://python-all.ru/2.7/library/sha.html#module-sha)**68>69> Аналогичный модуль, реализующий алгоритм безопасного хеширования (SHA). Алгоритм SHA считается более безопасным хешем.70