我試着去重現如下:雙哈希SHA256
=============================== ========== 從Bitcoin維基
交易益智
交易 '...' 是一個有趣的謎題。
given hash = 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000
要花錢,你需要拿出一些數據,以便散列數據結果兩次在給定的哈希交易。所需的數據恰好是Genesis塊,並且給定的散列是發生塊散列
=========================== ===============
成因= '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f'
下面的函數doublehashes輸入(它適用於步驟14中this example)
def function(input):
data = input.decode('hex_codec')
result = binascii.hexlify(hashlib.sha256(hashlib.sha256(data).digest()).digest())
print result
但輸入生成哈希,它會產生以下結果:
字符串: 「ae253ca2a54debcac7ecf414f6734f48c56421a08bb59182ff9f39a6fffdb588」
己烷: 「61 65 32 35 33 63 61 32 61 35 34 64 65 62 63 61 63 37 65 63 66 34 31 34 66 36 37 33 34 66 34 38 63 35 36 34 32 31 61 30 38 62 62 35 39 31 38 32 66 66 39 66 33 39 61 36 66 66 66 64 62 35 38 38 0d 0a「
我明顯做錯了事,似乎無法弄清楚什麼。
解答:正如Falsaltru提到;
之前使用所需的散列來計算塊衝突,因此散列本身爲什麼'不難找到'。
對不起,OP已經得到解決。但這並沒有引起isseu問題。 – Loops