Генератор HMAC-SHA512
Створюйте тег HMAC-SHA512 на основі повідомлення та секретного ключа. Інструмент кодує їх у UTF-8, застосовує конструкцію HMAC із RFC 2104 з SHA-512 і повертає результат довжиною 512 бітів у hex або Base64. Використовуйте його для тестування схем підписування API, як-от деяких API криптобірж і токенів HS512, а також для перевірки власної реалізації за надійним зразком. Ключ не з’являється у відповіді.
Поширені запитання
Що таке HMAC-SHA512?
HMAC-SHA512 поєднує хеш SHA-512 із секретним ключем за допомогою конструкції HMAC із RFC 2104. Він підтверджує, що повідомлення надійшло від того, хто знає ключ, і не було змінене. Тег становить 64 байти, або 128 hex-символів.
Який відомий тестовий вектор HMAC-SHA512?
У тестовому випадку 2 RFC 4231 використовуються ключ Jefe і повідомлення what do ya want for nothing?. Очікуваний тег — 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737; цей інструмент відтворює його.
Коли варто використовувати HMAC-SHA512 замість HMAC-SHA256?
Використовуйте його, коли цього вимагає API або формат токена, наприклад алгоритм HS512 у Web Tokens JSON. HMAC-SHA256 уже є надійним, а SHA-512 переважно забезпечує довший тег і часто працює швидше на 64-бітних машинах.
Як кодуються вхідні дані?
Повідомлення та ключ обробляються як текст UTF-8. Якщо ваш постачальник надає секрет у форматі Base64 або hex, який потрібно спершу декодувати, результат тут відрізнятиметься від його результату.
Якої довжини має бути мій ключ?
Випадковий ключ завдовжки 64 байти відповідає розміру вихідних даних SHA-512 і є вдалим вибором. Ключі довші за 128 байтів спочатку хешуються, а дуже короткі послаблюють захист.
Секретний ключ залишається приватним?
Так. Ключ використовується лише в пам’яті для цього запиту й не потрапляє у відповідь. Його ніколи не записують у журнал і не зберігають.
Чи можу я створити підпис JWT за допомогою цього інструмента?
Частково. HS512 підписує заголовок у Base64URL, крапку та дані в Base64URL. Вставте цей рядок як повідомлення, виберіть вихідні дані Base64, замініть + на -, / на _ і приберіть доповнення =, щоб отримати частину підпису JWT.
Чому результат не збігається?
Найчастіші причини — зайві пробіли або розриви рядків у повідомленні, ключ, який потрібно декодувати з hex або Base64, чи порівняння hex із Base64. Перевірте кожен байт введених даних.
Чи можна скоротити тег HMAC-SHA512?
У деяких протоколах використовують лише першу частину тегу, наприклад у варіантах HMAC-SHA512/256, визначених певними стандартами. Інструмент завжди повертає всі 64 байти, тож скоротіть тег самостійно, якщо цього вимагає ваш протокол.
Яке обмеження на введення?
Загальний розмір повідомлення та ключа може становити до 5 MiB тексту на запит. Цього достатньо для тіл запитів API, рядків токенів і великих даних вебхуків.