Что такое HMAC?

Middle
490 просмотров
AFK Offer AI

HMAC (Hash-based Message Authentication Code) — способ проверить целостность и подлинность сообщения с помощью секретного ключа и хеш-функции. Берёшь сообщение, смешиваешь с секретным ключом через специальный алгоритм поверх SHA256 (или другого хеша) — получаешь MAC. Получатель с тем же ключом вычисляет MAC и сравнивает. В Go: h := hmac.New(sha256.New, key), h.Write(message), mac := h.Sum(nil). Используется для подписи webhook-ов, верификации JWT (HS256), защиты API-ключей. Важно сравнивать через hmac.Equal, а не ==, чтобы избежать timing attack.

Следующий вопрос

Что такое pgx драйвер?