number571 / go-cryptopro

ГОСТ функции КриптоПро для языка Go.
MIT License
17 stars 11 forks source link

Вставьте носитель с контейнером #4

Closed des1roer closed 1 year ago

des1roer commented 1 year ago
    package main

    import (
        "encoding/hex"
        "fmt"

        ghash "github.com/number571/go-cryptopro/gost_r_34_11_2012"
    )

    func main() {
        msg := []byte("hello, world!")

        hash := ghash.Sum(ghash.H256, msg)
        fmt.Println(hex.EncodeToString(hash))
    }
des1roer commented 1 year ago

Всё верно, контейнер для хэширования не нужен. У автора ошибка в исходных кодах: В gost_r_34_11_2012/gost.c:18 контекст нужно открывать с флагом CRYPT_VERIFYCONTEXT.

des1roer commented 1 year ago

https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=140828#post140828