Ntlm-hash-decrypter -

NTLM hashes are not encrypted; they are hashed . Encryption is a two-way street (encrypt → decrypt with a key). Hashing is a one-way mathematical function. You cannot "decrypt" an NTLM hash any more than you can unbake a cake.

import hashlib def crack_ntlm(target_hash, wordlist_path): with open(wordlist_path, 'r', encoding='utf-8', errors='ignore') as f: for word in f: word = word.strip() # NTLM uses MD4 of the UTF-16LE encoded password hash_attempt = hashlib.new('md4', word.encode('utf-16le')).hexdigest() if hash_attempt.lower() == target_hash.lower(): return f"Success! Password is: word" return "Password not found in list." # Example usage # target = "31d6cfe0d16ae931b73c59d7e0c089c0" # Hash for empty string # print(crack_ntlm(target, 'passwords.txt')) Use code with caution. Copied to clipboard Industry Standard Tools ntlm-hash-decrypter