首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keccak输出错误

Keccak输出错误
EN

Stack Overflow用户
提问于 2016-03-27 22:41:48
回答 1查看 320关注 0票数 0

我正试图用官方图书馆运行Keccak 224。不幸的是,我从函数中得到了错误的散列。我怀疑这不是图书馆的错,而是我做错了什么。

这就是我想要做的:

代码语言:javascript
复制
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

但我只能从这种打电话给图书馆的方式中得到无稽之谈。我做错了什么?一个小的例子将是很好的,它解释了我如何能够达到预期的结果,以及我做错了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-07 13:30:05

你有没有考虑到末尾的空字符?

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36253565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档