【发布时间】:2020-06-10 08:15:03
【问题描述】:
在Proof of work区块链维基上,可以找到哈希
0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
对应于值 2^239.61238653。我的问题是,如何计算哈希的这个数值?
【问题讨论】:
-
十六进制转十进制,得到以2为底的对数。
标签: hash blockchain sha
在Proof of work区块链维基上,可以找到哈希
0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
对应于值 2^239.61238653。我的问题是,如何计算哈希的这个数值?
【问题讨论】:
标签: hash blockchain sha
首先请注意,当您尝试转换为十进制时,块哈希通常表示为十六进制的小endian 值。如果your system 是小端:
在 bash/perl 中转换为十进制:
$ hex=0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
$ $ perl -le 'use bignum qw/hex/; print hex("0x".$ARGV[0])' --"$hex"
532607621168989936896605052113495566299419916018780134558135832581308350315356027254565114944
或者,获取base2日志:
perl -le 'use bignum qw/hex/; print log(hex($ARGV[0]))/log(2)' -- "$hex"
239.6123865298365295145460775449928303015
代表2^239.61238653
【讨论】: