我正在开发一个需要执行sha3-256哈希的 JAVA 项目。由于 Bouncy Castle 在其最新更新中实现了 Sha3,我计划使用他们的实现。这是我的代码:
public static String sha3(final String input) {
String hash = "";
final SHA3.DigestSHA3 md = new SHA3.DigestSHA3(256);
md.update(input.getBytes());
hash = Main2.toString(md.digest());
return hash;
}
运行时System.out.println(Main2.sha3(""));
,我得到以下输出:
C5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470
当我从以下位置搜索基本 sha3 输出时:维基百科:https
://en.wikipedia.org/wiki/SHA-3
或 NIST 标准:http ://csrc.nist.gov/groups/ST/toolkit/documents/Examples/ SHA3-256_Msg0.pdf
,看来我应该获得:
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
我的代码有什么错误吗?充气城堡的输出和 NIST 的输出之间有什么联系吗?充气城堡的实施会不会有错误?
感谢您的时间和问候。