【问题标题】:How to get numeric value of a hash?如何获取哈希的数值?
【发布时间】:2020-06-10 08:15:03
【问题描述】:

Proof of work区块链维基上,可以找到哈希

0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9 

对应于值 2^239.61238653。我的问题是,如何计算哈希的这个数值?

【问题讨论】:

  • 十六进制转十进制,得到以2为底的对数。

标签: hash blockchain sha


【解决方案1】:

首先请注意,当您尝试转换为十进制时,块哈希通常表示为十六进制的小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

【讨论】:

    猜你喜欢
    • 2013-01-09
    • 1970-01-01
    • 2015-10-17
    • 2012-07-01
    • 2021-12-30
    • 2010-12-19
    • 2012-08-17
    • 2015-05-26
    • 1970-01-01
    相关资源
    最近更新 更多