この公式ライブラリで 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;
SHA-3-224 (Keccak) を使用した "abc" の正しいハッシュは次のようになります。
e642824c3f8cf24a d09234ee7d3c766f c9a3a5168d0c94ad 73b46fdf
しかし、このライブラリの呼び出し方法からはナンセンスしか得られません。私は何を間違っていますか?期待される結果を達成する方法と、何が間違っていたかを説明する小さな例は素晴らしいでしょう。