🔍 Hash Identifier

🔍
Length: {{ hashInput.trim().length }} characters
📋
⚙️
🎯

Identification Results

🏆 Most Likely Algorithm

{{ result.confidence.overall }}% confidence
{{ result.most_likely.name }}
{{ result.most_likely.description }}

🎲 All Possible Algorithms

{{ algorithm.name }}
{{ algorithm.description }}
{{ algorithm.confidence }}%
Length
{{ result.length }} characters
Character Set
{{ formatCharacterSet(result.character_set.primary) }}

ℹ️ Additional Information

⚠️ {{ info }}

🔍 Confidence Factors

• {{ factor }}

🔍 Hash Analysis

Enter a hash string above to identify the algorithm...

🔧 Technical Details

Input Hash: {{ result.input }}
Cleaned Hash: {{ result.cleaned_hash }}
Character Sets:
  • ✅ Lowercase hexadecimal
  • ✅ Uppercase hexadecimal
  • ✅ Mixed case hexadecimal
  • ✅ Base64 encoding
  • ✅ Numeric only
  • ✅ Special characters
Matches Found: {{ result.confidence.match_count }}
⚠️ {{ error }}

ℹ️ About Hash Identification

Hash Identification compares an unknown digest or password-hash string against common lengths, alphabets, prefixes, and storage formats. It helps narrow a value such as a 32-character hexadecimal string, a $2b$ bcrypt record, an $argon2id$ record, or a MySQL *-prefixed password hash to the most likely algorithm family before you choose a verifier, migration path, or cracking format.

Useful when you need to:

  • Classify leaked or recovered hashes during incident response and digital forensics.
  • Map legacy password fields before migrating authentication systems.
  • Decide whether a value belongs in a hash generator, checksum verifier, password-hash verifier, or cracking tool.
  • Spot format clues such as salts, Unix crypt markers, LDAP wrappers, and database-specific prefixes.

How the detector scores a match:

  • Length: MD5 is commonly shown as 32 hex characters, SHA-1 as 40, SHA-256 as 64, SHA-384 as 96, and SHA-512 as 128.
  • Alphabet: lowercase hex, uppercase hex, Base64, numeric-only strings, and mixed symbols rule algorithms in or out.
  • Markers: prefixes such as $1$, $5$, $6$, $2a$, $2b$, $argon2id$, {SSHA}, and md5 carry strong format clues.
  • Context: the same length can describe several algorithms, so application source, database column names, file names, or tool output still matter.

Example matches: 5d41402abc4b2a76b9719d911017c592 is a typical MD5-length hex digest, aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d is SHA-1 length, $2a$10$... is a bcrypt-style password hash, and *6C8989366EAF75BB670AD120B9DD2EC3DC1E5F2E matches the MySQL 4.1+ password-hash pattern.

Reference families: MD5 is described in RFC 1321; SHA-1 and SHA-2 digests are standardized in NIST FIPS 180-4; SHA-3 is standardized in NIST FIPS 202. Password-hash and key-derivation formats commonly seen in audits include bcrypt from the original USENIX bcrypt paper, PBKDF2 in RFC 8018, scrypt in RFC 7914, and Argon2 in RFC 9106.

Limits: pattern matching cannot prove the original algorithm. Plain 32-character hex can be MD5, NTLM, MD4, or application-specific data; 64-character hex can be SHA-256, SHA3-256, Keccak-256, or BLAKE2b-256. Treat results as candidates, not proof, and verify with known plaintext, application metadata, or a trusted password/hash library when the answer affects security decisions.

Privacy note: the browser interface analyzes the string locally after the page loads. Avoid pasting full credential dumps, salts tied to real accounts, or other sensitive incident data unless your workflow allows that exposure.

API Usage Example:

POST /api/tools/crypto/hash-identifier
Content-Type: application/json

{
    "hash": "5d41402abc4b2a76b9719d911017c592"
}
Ready