Spec-Zone.ru › Go

Пакет hmac

  • import "crypto/hmac"
  • Обзор
  • Индекс

Обзор

Пакет hmac реализует код аутентификации сообщений с ключом (HMAC), как определено в публикации Федеральных стандартов обработки информации США 198. HMAC — это криптографический хэш, который использует ключ для подписи сообщения. Получатель проверяет хэш, пересчитав его с использованием того же ключа.

Получатели должны быть внимательны, используя Equal для сравнения MAC, чтобы избежать временных побочных каналов:

// ValidMAC reports whether messageMAC is a valid HMAC tag for message.
func ValidMAC(message, messageMAC, key []byte) bool {
	mac := hmac.New(sha256.New, key)
	mac.Write(message)
	expectedMAC := mac.Sum(nil)
	return hmac.Equal(messageMAC, expectedMAC)
}

Индекс

  • func Equal(mac1, mac2 []byte) bool
  • func New(h func() hash.Hash, key []byte) hash.Hash

Файлы пакета

hmac.go

func Equal 1.1

func Equal(mac1, mac2 []byte) bool

Equal сравнивает два MAC на равенство без утечки временной информации.

func New

func New(h func() hash.Hash, key []byte) hash.Hash

New возвращает новый HMAC хэш, используя заданный тип hash.Hash и ключ. New функции, такие как sha256.New из crypto/sha256, могут быть использованы в качестве h. h должен возвращать новый Hash каждый раз, когда он вызывается. Обратите внимание, что в отличие от других реализаций хешей в стандартной библиотеке, возвращаемый Hash не реализует encoding.BinaryMarshaler или encoding.BinaryUnmarshaler.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/crypto/hmac/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API