hmac.md
1> **Источник:** https://python-all.ru/3.0/library/hmac.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `hmac` – Keyed-Hashing for Message Authentication89Этот модуль реализует алгоритм HMAC, описанный в [**RFC 2104**](https://python-all.ru/3.0/library/hmac.html).1011#### `[hmac.new]hmac.new(key[, msg[, digestmod]])`1213Возвращает новый объект hmac. Если указан *msg*, выполняется вызов метода `update(msg)`. *digestmod* – это конструктор или модуль дайджеста для использования объектом HMAC. По умолчанию используется конструктор `hashlib.md5()`.1415> **Примечание**16>17> Хеш md5 имеет известные уязвимости, но остаётся значением по умолчанию для обратной совместимости. Выберите более надёжный для своего приложения.1819Объект HMAC имеет следующие методы:2021#### `[hmac.hmac.update]hmac.update(msg)`2223Обновляет объект hmac строкой2425*msg*2627. Повторные вызовы эквивалентны одному вызову с конкатенацией всех аргументов:2829`m.update(a); m.update(b)`3031эквивалентно3233`m.update(a + b)`3435.3637#### `[hmac.hmac.digest]hmac.digest()`3839Возвращает дайджест строк, переданных методу4041[`update()`](https://python-all.ru/3.0/library/hmac.html#hmac.hmac.update)4243на данный момент. Эта строка будет той же длины, что и4445*digest\_size*4647дайджеста, переданного конструктору. Она может содержать не-ASCII символы, включая нулевые байты.4849#### `[hmac.hmac.hexdigest]hmac.hexdigest()`5051Как5253[`digest()`](https://python-all.ru/3.0/library/hmac.html#hmac.hmac.digest)5455, но дайджест возвращается в виде строки двойной длины, содержащей только шестнадцатеричные цифры. Это может быть использовано для безопасного обмена значением в электронной почте или других недвоичных средах.5657#### `[hmac.hmac.copy]hmac.copy()`5859Возвращает копию («клон») объекта hmac. Это может использоваться для эффективного вычисления дайджестов строк, имеющих общую начальную подстроку.6061> **См. также**62>63> **Модуль [`hashlib`](https://python-all.ru/3.0/library/hashlib.html#module-hashlib)**64>65> Модуль Python, предоставляющий безопасные хеш-функции.66