# Генератор 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 текста. Тег вычисляется сразу, и оба входных значения не сохраняются.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
