Hash
查找具有 11 個前導零的雜湊
對於一個練習,我試圖找到一個帶有 11 個前導零的 sha256 雜湊。
出於這個原因,我編寫了一個 Python 腳本,該腳本基本上嘗試了從 1 到 N 的所有整數並暴力破解雜湊。現在我的 N 是 16^11。
我弄錯了還是我的程式碼有問題,因為在 1 到 16^11 之間必須有一個隨機數,其中雜湊有 11 個前導零?
謝謝您的意見!
每次嘗試的雜湊都有16 11**中1的獨立機率有 11 個前導零。
這意味著在n次嘗試後未找到此類雜湊的機率等於n次嘗試均不成功的機率:(1 - 16 -11 ) n
這意味著您成功的機率隨著n的增加而增加,但永遠不會達到1:
- 176,807,378,144 次嘗試後有**1%的機會(~16 9.34)。
- 嘗試902,361,177,698次後有5%的機率(~16 9.93)。
- 3,925,582,869,332 次嘗試後有**20%的機率(~16 10.46)。
- 在12,193,974,156,573 次嘗試後有**50%的機會(~16 10.87)。
- 在28,313,531,182,477 次嘗試後有**80%的機會(~16 11.17)。
- 52,701,479,495,622 次嘗試後的**95%機率(~16 11.40)。
- 在81,015,010,678,098 次嘗試後有**99%的機會(~16 11.55)。
- 121,522,516,017,148 次嘗試後的**99.9%機率(~16 11.70)。
- …
不,“nonce”可以是交替的。不限於 1 到 N。但是找到目標雜湊的預期時間是 16^11,這意味著如果你嘗試 16^11 個不同的“nonce”,你可能會得到一個目標。