Logo

MonoCalc

/

Password Hash Verifier

Encode/Decode
Paste a hash below to auto-detect

About This Tool

🔐 Password Hash Verifier – Multi-Algorithm Browser Tool

The Password Hash Verifier is a fully client-side tool that lets you confirm whether a plaintext password corresponds to a stored cryptographic hash. All computation runs in your browser using bcryptjs, hash-wasm, the Web Crypto API, and CryptoJS — your password never leaves your device.

🔎 Supported Algorithms

The tool covers the full spectrum of password-hashing algorithms in active use today:

AlgorithmHash Format / DetectionStrengthRecommended
bcrypt$2a$ / $2b$ / $2y$ prefixStrong✅ Yes
Argon2id$argon2id$ PHC stringVery Strong✅ Yes (preferred)
Argon2i / Argon2d$argon2i$ / $argon2d$ PHC stringVery Strong✅ Yes
PBKDF2Hex / Base64 + manual paramsAcceptable–Strong✅ With ≥600k iterations
scryptHex + manual params (N, r, p)Strong✅ Yes
SHA-256 / SHA-51264 / 128 hex charsAcceptable⚠️ Only with salt + stretching
SHA-140 hex charsBroken❌ No
MD532 hex charsBroken❌ No

⚙️ How Verification Works

For self-describing formats like bcrypt and Argon2, the hash string itself encodes all the parameters needed to reproduce it — cost factor, memory, salt, and version. The tool parses these automatically:

$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub...

Breaking this down: argon2id is the variant, v=19 is the version, m=65536 is memory (64 MB), t=3 is 3 iterations, p=4 is parallelism, followed by the Base64-encoded salt and hash digest.

For parameterless formats (SHA-256, MD5, etc.) the tool simply hashes your password with the selected algorithm and compares the resulting hex string to the stored value. For PBKDF2 and scrypt, you must supply the salt and work factors separately since they are not embedded in a standard format.

🏎️ Algorithm Comparison

Not all password-hashing algorithms are created equal. The key properties that make an algorithm suitable for password storage are:

Memory hardness:

Argon2 and scrypt require large amounts of RAM, making GPU-based brute-force attacks extremely expensive.

Adaptive cost:

bcrypt, Argon2, and scrypt let you tune the work factor so the hash takes ~1 second on your hardware, and you can increase it as hardware improves.

Built-in salt:

bcrypt, Argon2, and scrypt always embed a random salt — preventing rainbow-table attacks automatically.

GPU resistance:

MD5, SHA-1, and plain SHA-256/512 can be computed billions of times per second on consumer GPUs, making them unsuitable for passwords.

🔬 Auto-Detection

Paste a hash string and click "Auto-Detect" — the tool reads the prefix to identify bcrypt ($2a$, $2b$, $2y$) and Argon2 ($argon2id$, $argon2i$, $argon2d$). For hex digests, auto-detection uses the character length to guess the algorithm (32 → MD5, 40 → SHA-1, 64 → SHA-256, 128 → SHA-512), with a manual override available for ambiguous cases.

⏱️ Timing & Performance

The tool displays wall-clock verification time in milliseconds. Adaptive algorithms like bcrypt and Argon2 are intentionally slow — a typical bcrypt cost-12 hash takes 200–400 ms. This computational cost is a feature, not a bug: it means an attacker must spend the same time on every guessed password.

Privacy First
All hashing runs in your browser via WebAssembly and JavaScript — no passwords or hashes are transmitted to any server. Refresh the page to clear all inputs.

🚨 Security Advisories

Migrating Away from MD5 and SHA-1
MD5 and SHA-1 have known collision attacks and are trivially crackable via GPU-accelerated rainbow tables. If your system stores passwords as plain MD5 or SHA-1 hashes, migrate to Argon2id immediately. Use a migration strategy that re-hashes passwords on next login.

💡 Common Use Cases

  • Debugging authentication: Verify that your application is hashing passwords the same way your database stores them.
  • Database auditing: Quickly confirm whether a known test password matches a stored hash without running your full application stack.
  • Security education: Compare the hashing speed of MD5 vs. bcrypt vs. Argon2 side by side to understand why algorithm choice matters.
  • Legacy system analysis: Identify and document weak algorithms in systems you are auditing or migrating.

Frequently Asked Questions

Is the Password Hash Verifier free?

Yes, Password Hash Verifier is totally free :)

Can I use the Password Hash Verifier offline?

Yes, you can install the webapp as PWA.

Is it safe to use Password Hash Verifier?

Yes, any data related to Password Hash Verifier only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the Password Hash Verifier work?

Enter a plaintext password and a stored hash, select (or let the tool auto-detect) the hashing algorithm, then click Verify. The tool recomputes the hash from your password using the same algorithm and parameters embedded in the hash string, and compares the result. All computation happens entirely in your browser — no data is ever sent to a server.

Which hashing algorithms does this tool support?

The tool supports bcrypt ($2a/$2b/$2y$ prefix), Argon2id/i/d (PHC string format), PBKDF2 (with user-supplied salt and iterations), scrypt (with user-supplied parameters), SHA-256, SHA-512 (via Web Crypto API), and legacy MD5 and SHA-1 via CryptoJS. Weak algorithms like MD5 and SHA-1 are flagged with a security warning.

Is it safe to enter real passwords here?

All cryptographic operations run entirely in your browser using bcryptjs, hash-wasm, Web Crypto API, and CryptoJS — no data leaves your device. That said, as a best practice, avoid entering actual production credentials in any web tool. Use test or dummy passwords when possible.

Why does auto-detect sometimes fail to identify the algorithm?

Auto-detection works by inspecting the hash prefix (e.g., $2b$ for bcrypt, $argon2id$ for Argon2). Raw hex hashes like SHA-256 or MD5 have no prefix, so the tool cannot distinguish them automatically — you need to manually select the algorithm in those cases.

What does the algorithm strength rating mean?

The strength rating reflects how suitable the algorithm is for password storage: 'Broken' (MD5, SHA-1) means it should never be used for passwords; 'Acceptable' (SHA-256/512, PBKDF2 with low iterations) means it works but has weaknesses; 'Strong' (bcrypt, scrypt, PBKDF2 with high iterations) and 'Very Strong' (Argon2id) are modern, recommended choices.

What PBKDF2 iteration count is recommended?

OWASP recommends at least 600,000 iterations for PBKDF2-HMAC-SHA256 (as of 2024). The iteration count should be tuned so that hashing takes approximately 1 second on your server hardware. This tool warns you if the iteration count falls below 100,000, which is the absolute minimum considered safe.