Вывод Keccak неверный

Я пытаюсь запустить Keccak 224 с этот официальная библиотека.
К сожалению, я получаю неправильный хэш от функции.
Сомневаюсь, что это вина библиотеки, скорее я что-то не так делаю.

Вот что я пытаюсь:

unsigned char input[] = "abc", output[168];
const unsigned long long int inputByteLen = sizeof(input);

FIPS202_SHA3_224(input, inputByteLen, output);

std::stringstream stream;
for (unsigned int i = 0; i < sizeof(output); i++) {
stream << std::hex << static_cast<short>(output[i]);
}
cout << stream.str() << endl;

Правильный хеш для «abc» с SHA-3-224 (Keccak) должен быть:

e642824c3f8cf24a d09234ee7d3c766f c9a3a5168d0c94ad 73b46fdf

Но я получаю ерунду только от такого способа вызова библиотеки.
Что я делаю неправильно?
Был бы небольшой пример, который объясняет мне, как я могу достичь ожидаемого результата и что я делал неправильно

0

Решение

Вы приняли во внимание нулевой символ в конце?

const unsigned long long int inputByteLen = sizeof(input) - 1;

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]