41 lines
824 B
Python
41 lines
824 B
Python
import hashlib
|
|
import signal
|
|
|
|
def rotate(seq):
|
|
last_seq = True
|
|
mod_next = True
|
|
idx = 0
|
|
|
|
while mod_next and idx < len(seq):
|
|
mod_next = False
|
|
|
|
if last_seq:
|
|
last_seq = seq[idx] == ord("f")
|
|
|
|
if seq[idx] == ord("9"):
|
|
seq[idx] = ord("a")
|
|
elif seq[idx] == ord("f"):
|
|
seq[idx] = ord("0")
|
|
mod_next = True
|
|
else:
|
|
seq[idx] += 1
|
|
|
|
idx += 1
|
|
|
|
return not last_seq
|
|
|
|
hash_str = ""
|
|
show = lambda sig, frame: print("\rcurrently on:", hash_str)
|
|
hash_bytes = [ord("0") for _ in range(64)]
|
|
should_rotate = True
|
|
|
|
signal.signal(signal.SIGTSTP, show)
|
|
|
|
while should_rotate:
|
|
hash_str = "".join([chr(byte) for byte in hash_bytes[::-1]])
|
|
sha_hash = hashlib.sha256(hash_str.encode("utf-8")).hexdigest()
|
|
|
|
if hash_str == sha_hash:
|
|
print(hash_str)
|
|
|
|
should_rotate = rotate(hash_bytes)
|