跳到主要内容

哈希类型识别

根据长度与特征识别 md5/sha/bcrypt 等

按长度与字符集猜测哈希类型;仅本地识别,不上传。

为什么需要识别哈希类型

你拿到一串 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 哈希,需结合上下文)。

相关工具:HMAC 生成哈希计算

隐私说明

全程浏览器本地计算,不联网、不上传你输入的哈希串。

常见问题

识别依据是什么?
主要看长度与字符集:MD5 为 32 位十六进制、SHA-1 为 40 位、SHA-256 为 64 位、SHA-512 为 128 位;Bcrypt 以 $2a$/$2b$/$2y$ 开头并含成本因子;Argon2 以 $argon2 开头。这是启发式判断,非 100% 确定。
能反推原文吗?
不能,也不应该。哈希是单向的,本工具只判断「它大概是什么算法」,不尝试破解。识别用途是确认存储强度与类型。
为什么看到明文像哈希却识别不出?
可能是自定义加盐格式、非标准编码(如 base64 的 scrypt),或长度恰好与某算法重合。本工具覆盖常见算法,冷门格式会提示「无法明确识别」。
$2y$ 和 $2b$ 有区别吗?
都是 Bcrypt 的变体前缀,算法本质相同,仅实现来源标记不同(PHP 用 $2y$,OpenBSD 用 $2a$/$2b$)。识别为 Bcrypt 即可。