我正在尋找比較Python3中散列的位,作爲Hashcash系統的一部分。 因此,舉例來說,我想知道,如果一個SHA256散列的前N位爲0比較Python3中散列位的最快方法是什麼?
現在,我基於十六進制版本
if newhash.hexdigest()[0:4] == '0000'
這樣做,但這種不讓我儘可能細化 - 我寧願比較原始位,這讓我可以更密切地改變匹配0的數量。
我得到得到的位值通過一個令人費解的跳
bin(int(h.hexdigest(), 16))[2:]
比較但這似乎像它不可能是做最快/正道。
我會很感激的權利/正確的方法去做任何意見;)
感謝,
-CPD
計數前導零([找到最重要的位集](http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious))可以相對於一般比特比較進行優化。 – jfs 2013-03-26 18:01:03