SuperAPI AI 工具集

hash-identify

安全与审计

查看项目

更新于 10-16 05:42

技能介绍

用途:接收一个哈希字符串,先用 hashid 判断可能的哈希算法类型;若用户额外提供明文值,再用 Python hashlib 校验该明文与哈希是否匹配。适合在运行 Hashcat、John the Ripper 等破解工具前确定哈希类型,分析 CTF 挑战中的未知哈希,或快速归类数据库导出中发现的哈希。

前提条件:需要 Python 3 与 pip 以安装 hashid,安装命令为 pip install hashid;python3 的 hashlib 属于标准库,无需另行安装。

输入:HASH_VALUE 为待识别的哈希字符串,例如 5f4dcc3b5aa765d61d8327deb882cf99;PLAINTEXT 为可选明文,用于校验。

工作流程:第一步检查并安装 hashid(若无则 pip install hashid --quiet);第二步打印输入哈希、长度,并执行 hashid "$HASH_VALUE" -m,其中 -m 会同时输出 Hashcat 模式号;第三步输出常见哈希长度参考表(详见 REFERENCE.md);第四步可选,在设置了 PLAINTEXT 时用内联 Python 脚本按长度选定候选算法并比对。

按长度划分的校验候选:32 位为 md5;40 位为 sha1;56 位为 sha224;64 位为 sha256、sha3_256;96 位为 sha384;128 位为 sha512、sha3_512、blake2b、blake2s。

完成标准:打印输入哈希长度与可能的算法列表;若提供明文则明确给出匹配或不匹配;打印常见算法长度参考表。

限制与失败情况:hashid 未安装会报 command not found,可用 pip install hashid --user 重试或检查 PATH;出现“No algorithms found”可能是非标准哈希或包含 Base64 等编码,需先解码再试;校验不匹配可能是哈希含盐或是 bcrypt、Argon2 等慢哈希,应改用 hashcat。bcrypt 哈希以 $2b$ 或 $2a$ 开头,无法用 hashlib 校验,需改用 bcrypt 包。Hashcat 模式号示例:MD5=0、SHA-1=100、bcrypt=3200。加盐哈希(如 sha256:10000:salt:hash)需拆分为各部分分别处理。长于常规的哈希(少于 32 字符)可能是 CRC32、Adler32 等校验和,需用 hashid 确认。