Генератор на 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 в JSON Web Tokens. 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 тела на заявки, низове с токени и големи полезни товари на уебхукове.