import hashlib
import base64

target_b64 = "vuQScsnuyHITkxlWouOdUw=="
target_hex = "bee41272c9eec87213931956a2e39d53"

candidates = [
    "123456",
    "password",
    "parcival",
    "parcival123",
    "12345678",
    "qwerty",
    "ninja",
    "sage",
    "ninjasage",
    "dandy",
    "dandy123",
    "tester",
    "tester123"
]

print(f"Target: {target_b64} / {target_hex}")

def try_hash(pwd):
    # Plain MD5
    m = hashlib.md5(pwd.encode()).digest()
    if m.hex() == target_hex:
        print(f"MATCH Plain MD5: {pwd}")
        return True
    
    # MD5(pass + salt) - Common salts?
    # MD5(pass + "NinjaSage")
    m = hashlib.md5((pwd + "NinjaSage").encode()).digest()
    if m.hex() == target_hex:
        print(f"MATCH MD5(pass+NinjaSage): {pwd}")
        return True
        
    return False

for c in candidates:
    if try_hash(c): break

print("Done.")
