Генератор HMAC-SHA1
Вычисляет тег HMAC-SHA1 по сообщению и секретному ключу. Инструмент кодирует их в UTF-8, применяет конструкцию HMAC из RFC 2104 с SHA-1 и возвращает результат длиной 160 бит в виде 40 шестнадцатеричных символов или в формате Base64. Он пригодится разработчикам, работающим с подписями OAuth 1.0a, внутренними механизмами TOTP, старыми вебхуками и устаревшими API, которые по-прежнему используют подписи HMAC-SHA1. Ваш ключ остается в запросе.
Часто задаваемые вопросы
Что такое HMAC-SHA1?
HMAC-SHA1 — это код аутентификации сообщения, который объединяет SHA-1 с секретным ключом в соответствии с RFC 2104. Тег имеет длину 20 байт и отображается как 40 шестнадцатеричных символов или 28 символов Base64.
Безопасен ли HMAC-SHA1, несмотря на то что SHA-1 уязвим?
Коллизии SHA-1 не нарушают работу HMAC-SHA1, поскольку безопасность HMAC зависит от других свойств хеш-функции. HMAC-SHA1 по-прежнему считается приемлемым для существующих систем. Для новых проектов предпочтителен HMAC-SHA256.
Какой тестовый вектор HMAC-SHA1 известен?
В тестовом примере 2 из RFC 2202 используется ключ Jefe и сообщение what do ya want for nothing?; ожидаемый результат — effcdf6ae5eb2fa2d27416d5f184df9c259a7c79. Этот инструмент возвращает такой тег.
Как создать подпись OAuth 1.0a?
Используйте базовую строку подписи в качестве сообщения, а секреты потребителя и токена соедините амперсандом, чтобы получить ключ. Выберите формат вывода Base64, затем закодируйте результат в процентах для заголовка Authorization.
Использует ли TOTP HMAC-SHA1?
Да. Большинство приложений-аутентификаторов вычисляют HMAC-SHA1 для 8-байтового счетчика времени с секретом, декодированным из Base32. Поскольку ключ и счетчик являются бинарными данными, этот текстовый инструмент не может напрямую воспроизвести код TOTP.
Как кодируются ключ и сообщение?
Оба значения преобразуются в байты UTF-8 точно в том виде, как вы их ввели. Скрытые пробелы, другой тип окончания строки или ключ, который необходимо декодировать из hex или Base64, обычно становятся причиной несовпадения.
Возвращается ли мой ключ в результате?
Нет. Ответ содержит только тег и несекретные параметры. Ключ не записывается в журнал и не сохраняется.
Какой формат вывода выбрать?
Используйте hex, если на другой стороне отображается строка из 40 символов в нижнем регистре, и Base64, если отображаются 28 символов, заканчивающихся на =. В обоих случаях это одни и те же 20 байт.
Можно ли использовать пустой ключ?
Да, HMAC допускает пустой ключ, и инструмент выполнит вычисление. Пустой ключ не обеспечивает защиту, поэтому используйте его только для сравнения с тестовыми векторами или другими инструментами.
Какой максимальной длины может быть сообщение?
Общий размер сообщения и ключа в одном запросе может достигать 5 MiB текста. Тег вычисляется сразу, и оба входных значения не сохраняются.