Hashcash 시스템의 일부로 Python3에서 해시 비트를 비교하려고합니다. 그래서 예를 들면, 나는 육각 버전Python3에서 해시 비트를 비교하는 가장 빠른 방법은 무엇입니까?
if newhash.hexdigest()[0:4] == '0000'
에 따라이하고 있어요하는 SHA256 해시의 첫 번째 N 비트는 현재 0
을하는 경우 알고 싶어하지만하지 않습니다 내가 원하는만큼 세분화되게해라. 나는 원시 비트를 비교하는 것을 선호한다. 일치하는 0의 수를 훨씬 더 많이 바꿀 수있다.
나는 비트 값이 복잡한 홉
bin(int(h.hexdigest(), 16))[2:]
을 통해 비교 하시고 얻을 수 있지만, 아마도 그것을 할 수있는/빠른 올바른 방법이 될 수없는 것처럼이 보인다.
내가 할 수있는 권리/올바른 방법에 어떤 조언을 감사하겠습니다)
감사합니다,
-CPD는
는
일반적으로 비트 비교와 비교하여 앞에 오는 0을 세는 것 ([최상위 비트 세트 찾기] (http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious))을 최적화 할 수 있습니다. – jfs