Parallel brute force: Difference between revisions

Line 1,636:
from hashlib import sha256
 
h1 = bytes().fromhex("1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad")
h2 = bytes().fromhex("3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b")
h3 = bytes().fromhex("74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f")
 
def brute(firstletterascii: int):
def HashFromSerial(serial):
divisorglobal =h1, 456976h2, h3
letters = []bytearray(5)
letters[0] = firstletterascii
for iletters[1] in range(597, 97 + 26):
letter, serial = divmod(serial, divisor)
for letters.append[2] in range(97, 97 + int(letter) 26):
divisor /= for letters[3] in range(97, 97 + 26):
return ( for letters,[4] sha256in range(bytes(letters)).digest()97, 97 + 26):
digest = sha256(letters).digest()
 
if digest == h1 or digest == h2 or digest == h3:
password = "".join(chr(x) for x in letters)
print(password + " => " + digest.hex())
return 0
 
def main():
h1 = bytes().fromhex("1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad")
h2 = bytes().fromhex("3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b")
h3 = bytes().fromhex("74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f")
numpasswords = int(26 ** 5)
chunksize = int(numpasswords / multiprocessing.cpu_count())
with multiprocessing.Pool() as p:
for (letters, digest) in p.imap_unorderedmap(HashFromSerialbrute, range(numpasswords)97, chunksize97 + 26)):
if digest == h1 or digest == h2 or digest == h3:
password = "".join(chr(x) for x in letters)
print(password + " => " + digest.hex())
 
 
if __name__ == "__main__":
Anonymous user