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

14.2. hmac – ключевое хеширование для аутентификации сообщенийhmac – Keyed-Hashing for Message Authentication

Этот модуль реализует алгоритм HMAC, описанный в RFC 2104.

hmac.new(key, msg=None, digestmod=None)
Возвращает новый объект hmac. key – это байтовый объект, содержащий секретный ключ. Если msg присутствует, выполняется вызов метода update(msg). digestmod – это конструктор дайджеста или модуль, используемый объектом HMAC. По умолчанию используется конструктор hashlib.md5().

Объект HMAC имеет следующие методы:

hmac.update(msg)
Обновляет объект hmac с помощью байтового объекта msg. Повторные вызовы эквивалентны одному вызову с конкатенацией всех аргументов: m.update(a); m.update(b) эквивалентно m.update(a + b).
hmac.digest()
Возвращает дайджест байтов, переданных методу update() на данный момент. Этот объект bytes будет такой же длины, как digest_size дайджеста, переданного конструктору. Он может содержать не-ASCII байты, включая нулевые байты (NUL).
hmac.hexdigest()
Как digest(), за исключением того, что дайджест возвращается в виде строки вдвое большей длины, содержащей только шестнадцатеричные цифры. Это может использоваться для безопасного обмена значением в электронных письмах или других недвоичных средах.
hmac.copy()
Возвращает копию («клон») объекта hmac. Это может использоваться для эффективного вычисления дайджестов строк, имеющих общую начальную подстроку.

См. также

Модуль hashlib
Модуль Python, предоставляющий безопасные хеш-функции.