许虎虎 开发者工具集
50%

NTLM Hash 生成


Size : 0 , 0 Characters

Size : 0 , 0 Characters
NTLM HASH 生成

NTLM(New Technology LAN Manager)是微软的一个哈希算法,用于存储和验证 Windows 系统中的用户密码。NTLM 哈希用于 Windows 身份验证过程,尤其是在本地计算机或域控制器中进行用户认证时。

NTLM 哈希生成的过程:
密码标准化:将密码转换为 UTF-16(16 位字符集)编码。
计算 MD4 哈希:对 UTF-16 编码后的密码应用 MD4 哈希算法。
输出 NTLM 哈希:生成的哈希值就是 NTLM 哈希,它是 MD4 哈希值的 128 位(16 字节)表示。
Python 示例代码:
虽然 Python 的 hashlib 库不直接支持 NTLM 哈希,但你可以使用 pycryptodome 库来实现 NTLM 哈希的计算。

首先,安装 pycryptodome 库(如果尚未安装):

bash

pip install pycryptodome
然后可以使用以下 Python 代码生成 NTLM 哈希:

python

from Cryptodome.Hash import MD4
import binascii

# 输入密码
password = "your_password"

# 将密码转换为 UTF-16 编码(Big-endian)
password_utf16 = password.encode('utf-16le')

# 计算 MD4 哈希(NTLM 哈希)
ntlm_hash = MD4.new(password_utf16).digest()

# 输出 NTLM 哈希(十六进制格式)
print(f"NTLM Hash: {binascii.hexlify(ntlm_hash).decode().upper()}")
解释:
password.encode('utf-16le'):将密码转换为 UTF-16 编码。utf-16le 是小端字节序,符合 NTLM 的标准。
MD4.new(password_utf16).digest():使用 MD4 哈希算法对 UTF-16 编码后的密码进行哈希计算。
binascii.hexlify(ntlm_hash):将哈希值转换为十六进制字符串。
示例输出:
如果输入密码是 "password",那么生成的 NTLM 哈希值可能是:

yaml

NTLM Hash: 8846F7EAEE8FB117AD06BDD830B7586C
注意:
NTLM 哈希并不存储实际的密码,而是存储密码的哈希值,因此即使攻击者获得了 NTLM 哈希,也无法直接知道密码。
NTLM 哈希的安全性较低,现代的安全实践中推荐使用更强的哈希算法(如 SHA-256 或 bcrypt)。