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