Что такое HMAC?
HMAC (код аутентификации сообщений на основе хеша) — это криптографический механизм, который объединяет секретный ключ с хеш-функцией для проверки как целостности, так и подлинности сообщения.
Как это работает:
- Секретный ключ объединяется с сообщением
- Хеш-функция (например, SHA-256) обрабатывает объединенные данные
- Результатом является код аутентификации фиксированного размера
Распространенные случаи использования:
- Аутентификация API: Подпись API-запросов для проверки отправителя
- JWT-токены: Используется в алгоритмах HS256/HS384/HS512
- Проверка сообщений: Гарантия того, что данные не были изменены
- Подписи вебхуков: Проверка полезной нагрузки вебхуков
Примечания по безопасности:
- Всегда используйте надежный случайный секретный ключ
- Храните свой секретный ключ в тайне
- Для новых приложений рекомендуется SHA-256 или выше
- SHA-1 считается слабым и его следует избегать для критичных по безопасности применений