— / s
PASSWORD FOUND
Selected methods
- Verified candidate checks
- —
- Measured attempts / second
- —
Not measured yet
- Actual elapsed time
- —
- Estimated remaining time
- —
Only completed work counts. Estimates describe the configured full search, not a promised finding time.
02 / EXPERIMENT
Start your experiment
Checking GPU support …
03 / HARDWARE
Your compute path
— / s
04 / DETAILS YOU CAN INSPECT
Behind the live result
GPU compatibility & diagnostics
Worker WebGPU is preferred. If it cannot initialize, the lab independently tries the main thread while preparing candidates in a dedicated worker.
- Main-thread WebGPU API
- Worker WebGPU API
- Selected execution path
- Reported adapter
- Worker check
- Main-thread check
A browser-wide “hardware accelerated” status does not guarantee that this page receives an adapter. Browser, platform and driver restrictions can still prevent access. No unsafe flags or software acceleration are enabled by this page.
If the API exists but every adapter request returns null: in Chrome inspect chrome://gpu, especially WebGPU, Vulkan and “Problems Detected”. The lab cannot bypass a browser restriction.
Complete technical failure reasons
Exact search ledger & measured performance
- Configured search space
- —
- Estimated full search
- —
- CPU · candidates/s
- —
- GPU · candidates/s
- —
- Confirmed CPU checks
- —
- Confirmed GPU checks
- —
- Measured calibration candidates
- —
- Measured calibration time
- —
Active GPU execution path:
| Search phase | Confirmed / total | Status |
|---|
CPU and GPU share one exact index ledger. Every assigned range belongs to one engine. Counts include whole completed batches; unfinished ranges are never reported as checked.
The estimate describes the full configured search, not the moment a match will appear. The original password never determines search priority. A match may arrive early, or never. Rates come from actual completed work.
Dictionaries, fixed patterns and search limits
- German · base entries
- German · words / entries
- German · word pairs
- German · unique transformed bases
- English · base entries
- English · words / entries
- English · word pairs
- English · unique transformed bases
- Passwords & IT · base entries
- Passwords & IT · words / entries
- Passwords & IT · word pairs
- Passwords & IT · unique transformed bases
The German dictionary retains the teaching words and adds 210,000 selected enz/german-wordlist entries (CC0), plus curated everyday, colloquial and computing terms. Existing entries remain. Source selection favours short words: ASCII transliteration, 1–20 letters, ordered by length then alphabetically. English expands the existing US Hunspell vocabulary with licensed ESDB 2026.02.25 vocabulary through level 80 (US/GB/Canada) and curated terms; this broad collection also includes less frequent valid words.
“Common passwords & IT” retains the existing public SecLists test list and adds curated computing, hobby, vehicle and pop-culture terms, plus 15,000 first names from aggregated US SSA name statistics. Selected familiar multiword names receive explicit joined spellings, without arbitrary name combinations. No new leaked credentials were imported. This is not a current popularity ranking; selection and ordering never depend on your password.
Fixed order: optional IT/Common → DE → EN; then years 1984–2035, one-digit and two-digit suffixes for selected lists, then optional Brute Force. Original, Title case, UPPERCASE and two fixed leetspeak forms remain. Each phase contains unique candidates. Overlapping collections and phases count as actual hash checks.
Brute Force fully enumerates all 95 printable ASCII characters over lengths 1–24. Dictionary bases contain at most 20 ASCII characters, reaching 24 with a year. Imported ä/ö/ü/ß use ae/oe/ue/ss; entered input is hashed exactly as UTF-8 and never normalized. Non-ASCII input remains outside the candidate space.
Larger lists increase coverage, loading cost and search time. Millions of words still cannot guarantee a match. Verified search time includes independent verification, but excludes calibration and pauses.
Years start at 1984 and end no earlier than 2035; thereafter the upper bound follows the calendar year (at most 9999). Compounds and famous names are not automatically hard to guess. A failed match does not prove security. Compressed word indexes are prepared once locally on load; workers receive only their bounded slice. This requires a current browser with gzip DecompressionStream support.
Sources and licenses: enz/german-wordlist · SCOWL/ESDB · SecLists · CC0 · SCOWL · MIT · Hunspell · ESDB 80 · SSA (Public domain) · Curated themes (CC0) · Metadata
Privacy, long runs & what the result means
UNDERSTAND THE EXPERIMENT
This is an offline attack on a deliberately fast, unsalted SHA-256 teaching hash. It is not an attack on a website, account or password manager. SHA-256 alone is unsuitable for modern password storage.
Salts and modern hashing
A unique salt separates each stored password hash. Argon2id deliberately adds work and memory cost. Our fast SHA-256 figures do not predict the cost of cracking properly configured Argon2id hashes.
An exhausted or stopped search is no proof of password safety. Online rate limits, MFA and proper salted password hashing change real-world attacks.
LONG RUNS & PRACTICAL LIMITS
No automatic 5-, 10- or 30-second cutoff. The experiment runs until a verified match, exhaustion, an engine error, or your Stop command. Pause retains the open session.
Sustained load uses battery and increases device temperature. Start with low intensity on laptops and phones. This page pauses a running search when hidden; a closed or suspended tab cannot reliably compute.
Privacy and local cleanup
The lab has no password network endpoint and stores neither the password nor its hash in URLs or browser storage. Reset, completion and page departure terminate workers and clear practical buffers. Reveal is explicit and local. Browser extensions or compromised browser software can still observe inputs; JavaScript strings cannot be securely overwritten.