[py] Simplify 2015_04

This commit is contained in:
Joscha 2022-12-06 21:25:40 +01:00
parent 18b58fd936
commit 55a9a39d9d

View file

@ -1,29 +1,17 @@
import hashlib
# PART 1
def leading_zeroes(amount, start):
def brute_force(seed, start):
n = 1
what = "0" * amount
while True:
text = (start + str(n)).encode("utf-8")
text = f"{seed}{n}".encode("utf-8")
h = hashlib.md5(text).hexdigest()
if h[:amount] == what:
if h.startswith(start):
return n
# if n % 100000 == 0:
# print(f"{n:9} {text} {h}")
n += 1
# PART 2
def solve(inputstr):
hashstart = inputstr.strip()
n = leading_zeroes(5, hashstart)
print(f"Part 1: {n}")
n_2 = leading_zeroes(6, hashstart)
print(f"Part 2: {n_2}")
seed = inputstr.strip()
print(f"Part 1: {brute_force(seed, '00000')}")
print(f"Part 2: {brute_force(seed, '000000')}")