# Генератор 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)
