MISSION 03 · REAL SHA-256 · LOCAL ONLY

museum@crypto:~$ PASSWORD CRACKING LAB

Your computer does the work. Choose a search, watch real attempts, and see whether your invented password is found.

01 / LIVE SEARCH

What your computer is doing

Set up experiment ↓

READY

Selected methods

Current search phase—
    Verified candidate checks
    —
    Measured attempts / second
    —

    Not measured yet

    Confirmed search progress0%
    Actual elapsed time
    —
    Estimated remaining time
    —
    CPU— / s
    GPU

    Only completed work counts. Estimates describe the configured full search, not a promised finding time.

    02 / EXPERIMENT

    Start your experiment

    Up to 24 characters. Hashed locally, cleared on Start. Search candidates are ASCII; Unicode is never normalized.

    Checking GPU support …

    Search methods

    Brute Force: 95 printable ASCII characters including space, lengths 1–24. Longer lengths can be impractical to exhaust.
    Up to 8 workers. Fewer workers reduce device load.Lower values insert rests between real batches.

    03 / HARDWARE

    Your compute path

    CPU

    — / s

    GPU / WEBGPU

    — / s

    HYBRID

    Adapter, browser and technical details ↓

    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 phaseConfirmed / totalStatus

    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.

    Read the guide →