一键导入
hash-identify
Identify hash algorithm type from a hash string and optionally verify against a known plaintext
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Identify hash algorithm type from a hash string and optionally verify against a known plaintext
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Interactive gap analysis against Korea's ISMS-P 102-control certification framework (management, protection, personal information)
Security log analysis and anomaly detection for access, auth, and syslog files
Analyze suspicious files through triage/static/dynamic/code phases to produce IOCs, YARA/Sigma rules, and MITRE ATT&CK mappings
File hash reputation lookup via VirusTotal API v3 for MD5/SHA1/SHA256 detection ratio, threat classification, and vendor results
OWASP Top 10 (2021) checklist-based inspection and compliance matrix generation
Multi-chain smart contract security for Solana, Algorand, Cairo, Cosmos, Substrate, and TON with pre-audit readiness checks
基于 SOC 职业分类
| name | hash-identify |
| description | Identify hash algorithm type from a hash string and optionally verify against a known plaintext |
| license | MIT |
| metadata | {"category":"crypto","locale":"en","phase":"v1"} |
Takes a hash string as input and uses the hashid tool to identify the algorithm type. If the user provides a plaintext value, verifies whether it matches the hash using Python hashlib. Also provides a reference table of common hash lengths.
hashid installation)hashid: pip install hashidpython3 hashlib is part of the standard library — no separate installation needed| Variable | Description | Example |
|---|---|---|
HASH_VALUE | Hash string to identify | 5f4dcc3b5aa765d61d8327deb882cf99 |
PLAINTEXT | (Optional) Plaintext to verify against | password |
if ! command -v hashid &>/dev/null; then
echo "hashid not found. Installing..."
pip install hashid --quiet
else
echo "hashid is installed"
fi
HASH_VALUE="5f4dcc3b5aa765d61d8327deb882cf99"
echo "=== Hash type identification ==="
echo "Input hash: $HASH_VALUE"
echo "Length: ${#HASH_VALUE} characters"
echo ""
hashid "$HASH_VALUE" -m 2>&1
# -m : also output Hashcat mode numbers
Reference: See REFERENCE.md for the hash length reference table and verification candidate mapping.
PLAINTEXT="password" # Set if you have a plaintext to verify
if [ -n "$PLAINTEXT" ] && [ -n "$HASH_VALUE" ]; then
echo ""
echo "=== Hash verification: '$PLAINTEXT' vs '$HASH_VALUE' ==="
python3 - <<PYEOF
import hashlib
plaintext = b"${PLAINTEXT}"
target = "${HASH_VALUE}".lower().strip()
length = len(target)
# Determine algorithm candidates based on length
candidates = {
32: ["md5"],
40: ["sha1"],
56: ["sha224"],
64: ["sha256", "sha3_256"],
96: ["sha384"],
128: ["sha512", "sha3_512", "blake2b", "blake2s"],
}
algos = candidates.get(length, [])
if not algos:
print(f"No algorithm candidates for length {length}")
else:
matched = False
for algo in algos:
try:
h = hashlib.new(algo, plaintext).hexdigest()
if h == target:
print(f"[MATCH] {algo.upper()}: '{plaintext.decode()}' -> {h}")
matched = True
except Exception as e:
print(f"[ERROR] {algo}: {e}")
if not matched:
print(f"No matching hash found (candidates: {', '.join(a.upper() for a in algos)})")
print("Note: slow hashes like bcrypt/Argon2/PBKDF2 are not supported by hashlib -> use hashcat")
PYEOF
fi
| Symptom | Cause and resolution |
|---|---|
hashid: command not found | Installation failed. Retry with pip install hashid --user or check PATH |
| "No algorithms found" | Non-standard hash or encoding (e.g. Base64) included. Decode first and retry |
| No match in verification | Hash includes a salt, or is a slow hash like bcrypt/Argon2. Use hashcat |
| Hash too short (< 32 chars) | Likely a checksum such as CRC32 or Adler32. Confirm with hashid |
$2b$ or $2a$ and cannot be verified with hashlib. Use the bcrypt package instead.hashid -m output. Examples: MD5=0, SHA-1=100, bcrypt=3200.sha256:10000:salt:hash) must be split into their components and processed separately.