Сообщить об ошибке.

Функция compare_digest() модуля hmac в Python

Безопасно сравнить подписи сообщения

Синтаксис:

import hmac

hmac.compare_digest(a, b)

Параметры:

  • a и b - подписи сообщения.

Возвращаемое значение:

Описание:

Функция compare_digest() модуля hmac безопасно сравнивает значения a и b, исключая атаку по времени и возвращает True, если a == b.

Эта функция использует подход, разработанный для предотвращения анализа синхронизации путем исключения поведения замыкания на основе содержимого, что делает его подходящим для криптографии.

Аргументы a и b - оба должны быть одного типа: либо только строка ASCII, как например возвращаемое HMAC.hexdigest(), либо байтоподобный объект.

Примечание.

Если a и b имеют разную длину или возникает ошибка, атака по времени может теоретически раскрыть информацию о типах и длинах a и b, но не об их значениях.

Примеры использования:

>>> import hmac
>>> key = 'secret-key'.encode()
>>> msg = 'Привет, как дела'.encode()
>>> digest = hmac.digest(b_key, b_msg, 'sha256')
>>> digest1 = hmac.digest(b_key, b_msg, 'sha256')
# Безопасное сравнение подписей.
>>> hmac.compare_digest(digest, digest1)
# True