据我所知,solidity中有三种可选择的哈希函数——sha3sha256以及ripemd。sha3是原生的而其他几个使用预编译合约。

这几个哈希函数中就gas消耗而言,哪一个是最节省的?

原文地址

1 人回答 0

1 个回答
投票数
最旧发布
最近发布

回答发布于 2018-08-31 17:51:18

keccak256(sha3的新别名)是最节省的。

来源于:以太坊黄皮书(Yellow Paper

附录G中提到sha3的gas消耗是:

  • 输入数据进行SHA3 Keccak256操作时,每个单词消耗30 gas + 6 gas(四舍五入)

附录E中包含了其他哈希函数的gas消耗。

  1. sha256(SHA2-256)消耗:
    • 输入数据进行SHA2-256操作时,每个单词消耗60 gas + 12 gas(四舍五入)
  2. ripemd的gas消耗量更多:
    • 输入数据进行RIPEMD-160操作时,每个单词消耗600 gas + 120 gas(四舍五入)
||
||

回答发布于 2018-08-31 17:51:18

keccak256(sha3的新别名)是最节省的。

来源于:以太坊黄皮书(Yellow Paper

附录G中提到sha3的gas消耗是:

  • 输入数据进行SHA3 Keccak256操作时,每个单词消耗30 gas + 6 gas(四舍五入)

附录E中包含了其他哈希函数的gas消耗。

  1. sha256(SHA2-256)消耗:
    • 输入数据进行SHA2-256操作时,每个单词消耗60 gas + 12 gas(四舍五入)
  2. ripemd的gas消耗量更多:
    • 输入数据进行RIPEMD-160操作时,每个单词消耗600 gas + 120 gas(四舍五入)
||
||

回答发布于 2018-08-31 17:51:18

keccak256(sha3的新别名)是最节省的。

来源于:以太坊黄皮书(Yellow Paper

附录G中提到sha3的gas消耗是:

  • 输入数据进行SHA3 Keccak256操作时,每个单词消耗30 gas + 6 gas(四舍五入)

附录E中包含了其他哈希函数的gas消耗。

  1. sha256(SHA2-256)消耗:
    • 输入数据进行SHA2-256操作时,每个单词消耗60 gas + 12 gas(四舍五入)
  2. ripemd的gas消耗量更多:
    • 输入数据进行RIPEMD-160操作时,每个单词消耗600 gas + 120 gas(四舍五入)
||
||