В настоящее время я рассматриваю пример Fabric 1.2 encc и пытаюсь использовать встроенный BCCSP.В примере показаны классические сценарии шифрования и проверки, однако хеширование, похоже, не учитывается.
В настоящее время я понимаю, что мы можем, например, создать экземпляр объекта Encrypter, чтобы иметь возможность доступа к методу Hash - например, так (код в Go):
ent, crerr := entities.NewAES256EncrypterEntity("ID", t.bccspInst,[]byte(AESKEY1), nil)
hashedmsg, myerr := ent.BCCSP.Hash(msg, &bccsp.SHA3_384Opts{})
Итак, в основном я пытаюсь создать сущность Encrypter для создания хэша.Исходя из моих знаний в области криптографии, нужен только вектор инициализации для хеширования чего-либо, например, текста или документа или чего-то еще, но не весь закрытый ключ.Я считаю, что я использую это неправильно, но не знаю, с чего начать, поэтому я прошу помощи.Или мне лучше использовать golang.org / x / crypto / sha3 для работы?
Вывод кода выше фактически генерирует шестнадцатеричное значение длиной 148 символов.Это на самом деле не соответствует хешу SHA3-384, который будет иметь 96 шестнадцатеричных символов.Даже SHA3-512 логически будет иметь только 128 символов.