Функция хеширования Стрибог (ГОСТ 34.11 - 2018)
Проект реализует функции хеширования Стрибог с длинами хеш-кода 256 и 512 бит, реализующий интерфейс hash.Hash.
Установка
go get github.com/beldmian/streebog
Пример использования
HASH
package main
import (
"fmt"
"github.com/beldmian/streebog"
)
func main() {
message := []byte("any-message")
hash := streebog.New(64)
hash.Write(message)
fmt.Printf("Hash: %x\n", hash.Sum(nil))
}
HMAC
package main
import (
"crypto/hmac"
"fmt"
"hash"
"github.com/beldmian/streebog"
)
func main() {
key := []byte("any-key")
message := []byte("any-message")
h := hmac.New(func() hash.Hash { return streebog.New(32) }, key)
h.Write(message)
fmt.Printf("Hash: %x\n", h.Sum(nil))
}
Производительность
~60 kH/s
