> hmac | аутентификация | подпись <
// Генерируйте коды аутентификации сообщений HMAC с секретными ключами
Web Crypto API
Использует встроенный Web Crypto API браузера для безопасной генерации HMAC. Ваши данные никогда не покидают браузер.
4 алгоритма хеширования
Поддержка HMAC-SHA256, HMAC-SHA1, HMAC-SHA384 и HMAC-SHA512. Выберите подходящий алгоритм.
Локальная обработка
100% обработка на стороне клиента. Никаких отправок на сервер, никакого сбора данных, полностью бесплатно.
// О HMAC
Как работает HMAC:
HMAC (Hash-based Message Authentication Code) определён в RFC 2104. Он комбинирует криптографическую хеш-функцию с секретным ключом. Алгоритм использует внутреннее и внешнее дополнение (ipad/opad) с секретным ключом.
Пример:
HMAC-SHA256("Hello", "secret") → 88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b
Распространённые сценарии использования:
- >Аутентификация API-запросов и проверка подписей
- >Валидация полезной нагрузки вебхуков
- >Подпись JSON Web Token (JWT)
- >Проверка целостности сообщений
- >Генерация безопасных токенов сессии
>> часто задаваемые вопросы
В: Что такое HMAC?
О: HMAC (Hash-based Message Authentication Code) — это механизм вычисления кода аутентификации сообщения с использованием криптографической хеш-функции в сочетании с секретным ключом.
В: Чем HMAC отличается от обычного хеша?
О: Обычный хеш (SHA-256) обеспечивает только целостность данных. HMAC добавляет секретный ключ, поэтому только стороны, знающие ключ, могут создать или проверить код.
В: Как HMAC используется для проверки подписей API?
О: Многие API (AWS, Stripe, GitHub) используют HMAC для подписи запросов. Отправитель вычисляет HMAC тела запроса с общим секретным ключом.
В: Какой алгоритм HMAC выбрать?
О: HMAC-SHA256 наиболее рекомендуется для общего использования. HMAC-SHA1 ещё используется в устаревших системах. HMAC-SHA384 и HMAC-SHA512 обеспечивают более высокий уровень безопасности.
В: Какой длины должен быть секретный ключ?
О: Секретный ключ должен быть не короче выходного значения хеша (напр. 32 байта для HMAC-SHA256). Более короткий ключ снижает безопасность.