首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pre 0.5.0 keccak256(a,b)是否等同于0.5.0 keccak256(abi.encodePacked(a,b))?

pre 0.5.0 keccak256(a,b)是否等同于0.5.0 keccak256(abi.encodePacked(a,b))?
EN

Ethereum用户
提问于 2019-03-17 00:36:57
回答 1查看 267关注 0票数 4

在0.5.0前的稳固性中,如果您想散列某一组数据,您将执行keccak(a, b, c)。0.5.0keccak只使用1 arg和建议使用 keccak(abi.encodePacked(a,b,c))

但这两人是否保证返回相同的结果呢?我做了一些快速的测试,他们似乎做了,但这是我可以依赖的东西吗?

EN

回答 1

Ethereum用户

发布于 2019-03-17 03:06:19

是的他们有。测试它的最简单的方法是使用混炼并简单地为这两个版本切换编译器版本。

如果您查看一下请注意文档的0.4.24版,您会发现这是正确的,它被切换的原因只是为了更明确。

这些编码函数可以用于为函数调用创建数据,而无需实际调用函数。此外,keccak256(abi.encodePacked(a, b))是一种更显式的计算keccak256(a, b)的方法,它将在未来的版本中被废弃。

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

https://ethereum.stackexchange.com/questions/68443

复制
相关文章

相似问题

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