Документация Python неофициальный перевод

hmac.md

82 строк · 3.2 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.1/library/hmac.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 14.2. `hmac` – ключевое хеширование для аутентификации сообщений89Этот модуль реализует алгоритм HMAC, описанный в [**RFC 2104**](https://python-all.ru/3.1/library/hmac.html).1011#### `hmac.new(key, msg=None, digestmod=None)`1213Возвращает новый объект hmac.1415*key*1617– это байтовый объект, содержащий секретный ключ. Если1819*msg*2021присутствует, выполняется вызов метода2223`update(msg)`2425.2627*digestmod*2829– это конструктор дайджеста или модуль, используемый объектом HMAC. По умолчанию используется конструктор3031`hashlib.md5()`3233.3435Объект HMAC имеет следующие методы:3637#### `hmac.update(msg)`3839Обновляет объект hmac с помощью байтового объекта4041*msg*4243. Повторные вызовы эквивалентны одному вызову с конкатенацией всех аргументов:4445`m.update(a); m.update(b)`4647эквивалентно4849`m.update(a + b)`5051.5253#### `hmac.digest()`5455Возвращает дайджест байтов, переданных методу5657[`update()`](https://python-all.ru/3.1/library/hmac.html#hmac.hmac.update)5859на данный момент. Этот объект bytes будет такой же длины, как6061*digest\_size*6263дайджеста, переданного конструктору. Он может содержать не-ASCII байты, включая нулевые байты (NUL).6465#### `hmac.hexdigest()`6667Как6869[`digest()`](https://python-all.ru/3.1/library/hmac.html#hmac.hmac.digest)7071, за исключением того, что дайджест возвращается в виде строки вдвое большей длины, содержащей только шестнадцатеричные цифры. Это может использоваться для безопасного обмена значением в электронных письмах или других недвоичных средах.7273#### `hmac.copy()`7475Возвращает копию («клон») объекта hmac. Это может использоваться для эффективного вычисления дайджестов строк, имеющих общую начальную подстроку.7677> **См. также**78>79> **Модуль [`hashlib`](https://python-all.ru/3.1/library/hashlib.html#module-hashlib)**80>81> Модуль Python, предоставляющий безопасные хеш-функции.82