HMAC (Hash-based Message Authentication Code) сочетает криптографическую хеш-функцию с секретным ключом для создания кода аутентификации сообщения. Он используется для проверки как целостности, так и подлинности сообщения. Этот инструмент генерирует дайджесты HMAC с использованием алгоритмов SHA-256, SHA-384 и SHA-512 - все вычисляется локально в вашем браузере с использованием Web Crypto API.
Key length: 13 chars, 13 bytes
| Algorithm | Digest Size | Block Size | Common Usage |
|---|---|---|---|
| HMAC-SHA256 | 32 bytes | 64 bytes | Most common. Used in JWT (HS256), AWS Signature V4 |
| HMAC-SHA384 | 48 bytes | 128 bytes | TLS 1.3, higher security margin |
| HMAC-SHA512 | 64 bytes | 128 bytes | Maximum security, PBKDF2 key derivation |
Введите ваше сообщение в поле ввода, а ваш секретный ключ в поле ключа. Выберите алгоритм хеширования - SHA-256, SHA-384 или SHA-512. Нажмите 'Генерировать HMAC' для вычисления кода аутентификации. Вывод отображается в шестнадцатеричном формате по умолчанию, с опцией переключения на кодировку Base64. Вы можете сравнить вычисленный HMAC с ожидаемым значением, используя режим проверки, который выполняет сравнение с постоянным временем для предотвращения атак по времени.
Генерация HMAC критически важна для подписи API-запросов (используется AWS, Stripe, GitHub webhooks и многими другими платформами), проверки подлинности полезной нагрузки webhook путем сравнения HMAC в заголовке запроса с локально вычисленным, реализации безопасных токенов сеанса и подписей cookie, обеспечения целостности данных в очередях сообщений и событийно-ориентированных архитектурах, создания защищенных от подделки URL с параметрами истечения срока действия и построения пользовательских протоколов аутентификации для связи микросервисов.
HMAC определен в RFC 2104 и FIPS 198-1. Алгоритм работает путем XOR ключа с константами внутреннего и внешнего заполнения, затем выполняет два раунда хеширования: H(K XOR opad || H(K XOR ipad || message)). Если ключ длиннее размера блока хеша, он сначала хешируется для уменьшения. SHA-256 производит 256-битный (32-байтовый) HMAC, SHA-384 производит 384-битный (48-байтовый), а SHA-512 производит 512-битный (64-байтовый). Этот инструмент использует методы crypto.subtle.importKey() и crypto.subtle.sign() Web Crypto API для нативного, аппаратно-ускоренного вычисления HMAC.
HMAC сочетает хеш-функцию с секретным ключом, поэтому только стороны, обладающие ключом, могут генерировать или проверять код. Обычный хеш, такой как SHA-256, может быть вычислен кем угодно, обеспечивая целостность, но не подлинность. HMAC обеспечивает и то, и другое, гарантируя, что сообщение не было подделано и пришло от кого-то, кто знает ключ.
SHA-256 наиболее широко используется и рекомендуется для большинства приложений. SHA-384 и SHA-512 предлагают большие размеры дайджестов для более высоких запасов безопасности. Выбирайте на основе требований вашей платформы - большинство поставщиков API (AWS, Stripe, GitHub) используют HMAC-SHA-256.
Извлеките подпись из заголовка запроса webhook (например, X-Hub-Signature-256), вычислите HMAC необработанного тела запроса, используя ваш секретный ключ webhook, и сравните два значения. Используйте функцию сравнения с постоянным временем для предотвращения атак по времени. Если значения совпадают, полезная нагрузка подлинная.
Декодер Base64 в картинку с предпросмотром и скачиванием. Поддержка data URI и Base64-строк.
SHA-256 и SHA-512 с добавлением salt и множественными итерациями. Аналог bcrypt через Web Crypto API для защиты данных.
Генератор хешей онлайн. MD5, SHA-1, SHA-256 и SHA-512. Проверка целостности данных и контрольные суммы.
Трансформируйте, форматируйте, генерируйте и кодируйте данные мгновенно. Приватно, быстро и всегда бесплатно.
Смотреть все инструменты