为什么需要识别哈希类型
你拿到一串 5e8848983f87417... 或 $2a$12$...,想知道它到底是什么哈希算法(MD5?SHA-256?bcrypt?)。这在 CTF、弱口令审计、数据迁移、对接老系统时常遇到——不同算法长度、字符集、前缀都不一样。
本工具根据长度、字符集、前缀特征推断哈希最可能属于哪种算法,并给出置信度提示,帮你缩小排查范围。
概念与公式
哈希是把任意长度输入变成固定长度摘要的单向函数。不同算法输出长度固定,成为识别线索:
| 算法 | 长度(十六进制字符) | 特征 |
|---|---|---|
| MD5 | 32 | 纯十六进制 |
| SHA-1 | 40 | 纯十六进制 |
| SHA-256 | 64 | 纯十六进制 |
| SHA-512 | 128 | 纯十六进制 |
| bcrypt | 以 $2a$/$2b$/$2y$ 开头 |
带成本因子 |
| Argon2 | 以 $argon2 开头 |
现代 KDF |
| PBKDF2 | 常含 :sha256: 等 |
带迭代/算法 |
识别逻辑:先匹配前缀(如 $2a$ → bcrypt),再按长度/字符集映射到候选算法。注意这是启发式猜测,不是破译,不还原明文。
细分场景
- 安全审计:发现数据库里明文密码其实是哪种哈希,评估强度。
- CTF / 取证:快速判断该用哪种字典/彩虹表。
- 对接老系统:确认对方存的摘要算法以选对校验方式。
怎么用本工具
把哈希串贴入输入框,结果即时列出候选算法、长度、匹配依据。带 $ 前缀的模块化哈希(bcrypt/scrypt/argon2)会被优先识别。
常见场景与实例
例:$2a$12$...
→ 判定 bcrypt,成本因子 12,提示「慢哈希,抗暴力破解」。
例:e3b0c442...(64 位十六进制)
→ 候选 SHA-256(也可能是其他 256-bit 哈希,需结合上下文)。
隐私说明
全程浏览器本地计算,不联网、不上传你输入的哈希串。