From 6fc28084d914ddac75c4d8a264bcbc5bf553dec9 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Sun, 13 Feb 2022 00:43:32 +0100 Subject: [PATCH] whitehash: 3x faster. --- whitehash/whitehash | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/whitehash/whitehash b/whitehash/whitehash index 58f1d57..a171936 100755 --- a/whitehash/whitehash +++ b/whitehash/whitehash @@ -47,16 +47,19 @@ def mergeparts(tabs,part): spc = [ i.encode("utf-8") for i in ("", " ", " ", " ", " ", " ", " ", " ") ] -def recur(pre,n): +def recur(m,pre,n): if n == len(part)-1: for i in spc: - sha1 = (hashlib.sha1(pre+i+part[n]).hexdigest())[0:searchlen]; - if sha1 in searchstrings: - print(hashlib.sha1(pre+i+part[n]).hexdigest()) + sub = m.copy() + sub.update(i+part[n]) + if (sub.hexdigest())[0:searchlen] in searchstrings: + print(sub.hexdigest()) print((pre+i+part[n]).decode()) else: for i in spc: - recur(pre+i+part[n],n+1) + sub = m.copy() + sub.update(i+part[n]) + recur(sub,pre+i+part[n],n+1) bits = searchlen*4 part = readparts(); @@ -75,4 +78,6 @@ searchstrings = [ i[0:searchlen] for i in + # Generate 012..f 123..0 .. f01..e [ s[-i:]+s[:-i] for i in range(16)] ] -recur(part[0],1) +m = hashlib.sha1() +m.update(part[0]) +recur(m,part[0],1)