Генератор HMAC
Генерация безопасных кодов аутентификации HMAC с несколькими хеш-алгоритмами
Секретный ключ, используемый для генерации HMAC. Храните в тайне!
* SHA-1 считается небезопасным. ** MD5 криптографически взломан и должен использоваться только для совместимости с устаревшими системами. Используйте SHA-256 или SHA-512 для новых приложений.
Результат
О HMAC
HMAC (Keyed-Hash Message Authentication Code) — это механизм аутентификации сообщений с использованием криптографических хэш-функций и секретного ключа. Согласно RFC 2104, он проверяет как целостность данных, так и подлинность сообщения.
В отличие от стандартного хэша (как SHA-256), HMAC использует секретный ключ для гарантии подлинности. Широко используется в API (например, AWS Signature v4), JWT и финансовых транзакциях.
Поддерживаемые алгоритмы HMAC
Инструмент поддерживает SHA-256, SHA-512, SHA-384, SHA-224, современные варианты SHA-3, а также устаревшие MD5 и SHA-1. Формула: HMAC(K, m) = H((K' ⊕ opad) || H((K' ⊕ ipad) || m)).
Общие варианты использования
Соображения безопасности
Безопасность зависит от секретного ключа. Сила ключа: Ключ должен быть случайным и длиной не менее выхода хэша (32 байта для SHA-256). Выбор алгоритма: Используйте SHA-256 или SHA-512. Избегайте MD5 и SHA-1.
Пример
Сообщение: "Hello, World!"
Секретный ключ: "secret-key-2025"
Алгоритм: HMAC-SHA256
Вывод:
e4d7f1b4c4e5a8d3e...
Справочные материалы
Часто задаваемые вопросы (FAQ)
В чем разница между Hash и HMAC?
Hash (как SHA-256) может вычислить кто угодно. HMAC использует хэш *плюс* секретный ключ. Только владелец ключа может создать или проверить HMAC.
Почему не использовать просто Hash(Ключ + Сообщение)?
Простая конкатенация уязвима для 'атак удлинения сообщения' (Length Extension Attack) в MD5/SHA-1. Структура HMAC предотвращает это.
Можно ли расшифровать HMAC?
Нет. HMAC — это хэш-функция, а не шифрование. Она односторонняя.
Какой длины должен быть ключ?
RFC 2104 рекомендует длину, равную длине выхода хэша (например, 32 байта для SHA-256).
Можно ли использовать для паролей?
Для паролей лучше использовать специализированные функции (KDF), такие как PBKDF2, bcrypt или Argon2.
Безопасен ли мой ключ здесь?
Да. Инструмент работает полностью на стороне клиента (в браузере). Ключ не отправляется на сервер.
Связанные инструменты
SHA Генератор хешей
Онлайн-генератор SHA хешей с поддержкой алгоритмов SHA-1, SHA-256, SHA-384, SHA-512
MD5/MD4 Генератор хешей
Генерация хеш-значений MD5 и MD4 для текста или файлов с несколькими форматами вывода
Base64 Кодировщик/Декодер
Быстрое кодирование и декодирование Base64 строк с поддержкой текста и файлов
JWT Кодировщик/Декодер
Декодирование, проверка и генерация JSON Web Tokens с поддержкой нескольких алгоритмов подписи
Генератор паролей
Генерация надежных, безопасных случайных паролей с настраиваемой длиной, типами символов, индикатором силы и пакетной генерацией
Конвертер временных меток
Преобразование между Unix временными метками и читаемыми датой/временем