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, предоставляющий безопасные хеш-функции.