Hashcash システムの一部として、Python3 でハッシュのビットを比較しようとしています。たとえば、SHA256 ハッシュの最初の N ビットが 0 かどうかを知りたいとします。
現在、16進バージョンに基づいてこれを行っています
if newhash.hexdigest()[0:4] == '0000'
しかし、これは私が望むほど細かくすることはできません - 私は生のビットを比較したいと思います。これにより、一致する 0 の数をより厳密に変えることができます。
複雑なホップを介して比較するビット値を取得します
bin(int(h.hexdigest(), 16))[2:]
しかし、これはおそらく最速/正しい方法ではないようです。
正しい/正しい方法についてアドバイスをいただければ幸いです;)
ありがとう、
-CPD