Calculate Brute-Force Crack Time — Free Cost Calculator

Pick a Secret Alphabet for the password you're testing, set its Length, and choose a realistic Hashing Cost in iterations, and the Brute-Force Cost Calculator works out how long an attacker's hardware would need to try every combination. You'll get a plain-English crack-time estimate built from the character pool size, the total combinations, and a real published GPU hash rate — not a guess.

8

"Cost" here means computational cost (time), based on published GPU hashrate benchmarks for raw SHA-256. This models a properly salted, iterated hash (like PBKDF2) -- a fast unsalted hash (plain MD5/SHA-1) would need 0 or 1 iterations, making cracking dramatically faster.

What if you could see the actual dollar amount a threat actor would spend to crack your password? The Brute Force Cost Calculator gives you exactly that — a concrete, financial cost visualization of what it takes for an offline attacker to break any credential using real GPU hardware and cloud infrastructure pricing. Unlike a conventional password strength tester that returns a vague score, this brute-force calculator converts entropy and guess count into USD figures and crack-time estimates, giving you data you can actually act on. Whether you're a developer enforcing password policy in a CI/CD pipeline or a protection-conscious individual auditing your own accounts, understanding the real password cracking cost changes how you think about credential safety entirely.

What This Brute Force Cost Calculator Actually Computes (It's Not a Strength Meter)

What Does It Compute? Password Complexity and Keyspace Explained

brtc is fundamentally different from anything that calls itself a strength meter. Where a traditional password strength tester returns a color-coded band or a score from 0–100, this tool computes three precise values drawn from real cryptography and hardware parameters.

  • Keyspace — the alphabet size raised to the power of the secret length, representing every possible combination an adversary must consider.
  • Attacker rate — raw GPU SHA-256 throughput divided by the iteration count (approximately two SHA-256 compressions per iteration), giving the effective guess rate.
  • Time to sweep keyspace — keyspace divided by the attacker rate; the expected time to find the secret is roughly half the sweep duration.

The formula pipeline looks like this:

$$\text{Keyspace} = \text{alphabet\_size}^{\text{secret\_length}}$$ $$\text{Attacker rate} = \frac{\text{GPU SHA-256 throughput}}{2 \times \text{PBKDF2 iterations}}$$ $$\text{Time to sweep} = \frac{\text{Keyspace}}{\text{Attacker rate}}$$ $$\text{Expected crack time} \approx \frac{\text{Time to sweep}}{2}$$

Once the expected time is known, multiplying by the per-second cloud GPU cost gives you the financial cost in USD — the actual bill an adversary running cloud infrastructure or a private GPU farm would pay to crack your credential. This brute force time estimate, expressed as a dollar figure, is what makes the tool actionable for online security decisions.

brtc is a cost calculator, not a strength meter. It converts an entropy or guess count into an offline-attack price tag in USD against a chosen GPU or cloud profile.

Financial Cost Visualization Explained

The financial cost visualization is what separates this tool from every other password checker on the market. Rather than telling you a credential is "weak" or "strong," it tells you it would cost a threat actor $0.0003 or $4,200,000 to crack — numbers that land with real weight. This cost estimation accounts for cloud GPU pricing (such as aws-p5.48xlarge, billed at a published USD per GPU rate), electricity assumptions for owned hardware, and the per-guess cost imposed by the chosen hash algorithm. The result is an attack simulation grounded in threat modeling, not abstract scoring. This online vs offline distinction matters enormously: online security controls like rate limiting are irrelevant once credentials are exfiltrated.

By default, the tool does not detect dictionary words, leetspeak substitutions, keyboard walks, or other recognizable pattern shortcuts — meaning a credential like P@ssw0rd! looks strong by raw entropy alone but is trivially guessable in practice. For pattern-aware strength analysis, enable the --zxcvbn flag to swap the naive estimator for an advanced pattern-detection library that understands password vulnerabilities in depth.

Hardware Simulation and Hash Algorithm Support

The hardware simulation engine supports a curated set of GPU profiles reflecting real-world adversary hardware and cloud cracking infrastructure. GPU cracking speeds vary dramatically across these profiles:

  • rtx-4090 — consumer flagship with ~22 billion MD5 hashes per second
  • rtx-5090 — next-generation desktop GPU, highest single-card throughput
  • rtx-3060 — mid-range card common in affordable cracking rigs
  • gtx-1080ti — previous-generation workhorse still used in bulk farms
  • rx-7900xtx — AMD flagship alternative with competitive GPU hashrate
  • aws-p5.48xlarge — cloud cracking infrastructure: 8× H100 SXM5 GPUs, pay-per-second billing

Supported hash algorithms include fast hashes like md5 and sha-256, as well as memory-hard and slow-by-design schemes like bcrypt. The choice of algorithm is the single biggest lever on adversary cost — more on this in the worked examples below. The terminal UI renders results in a color-coded dashboard directly in your shell, and the CI/CD gatekeeper mode lets you fail builds automatically when a credential falls below your defined cost threshold.

Why Password Strength Alone Doesn't Tell the Full Story of Account Protection

Online vs Offline Attacks: A Critical Distinction

The difference between online attacks and an offline attack is the difference between a thief testing a lock one click at a time and a thief who has taken the lock home to a laboratory. In online attacks, the adversary submits guesses through a live authentication endpoint — they're constrained by network latency, rate limiting, account suspension policies, and CAPTCHA challenges. Most services enforce an access block after a handful of wrong tries, making exhaustive online guessing a viable defense. Online guessing against a well-configured server is effectively infeasible.

An offline password attack is an entirely different threat model. When a threat actor gains access to a dumped database — whether through a data breach, a flash dump from an embedded device, or an exfiltrated vault — they take the hashed credentials offline and run an automated program across powerful computers at full GPU throughput. There is no rate limiting, no suspension, no server to stop them. A criminal can test candidates at billions of guesses per second using rtx-4090-class hardware, turning a weak credential into a match found in mere moments.

A Note on Realism: Iteration Count and Hash Cracking Speed

Real-world adversary budgets are constrained by the cost of GPU computing time and electricity. This is exactly what the cost calculator makes visible. Two factors dominate the calculation:

  1. Key stretching — algorithms like bcrypt and PBKDF2 use key derivation to force each guess to consume many hash operations. A bcrypt cost factor of 12 means each candidate requires ~4,096 SHA-like rounds, slashing the effective guess rate by orders of magnitude compared to raw md5. The PBKDF2 work factor setting controls this directly.
  2. GPU hashrate — an rtx-4090 achieves roughly 164 billion MD5 hashes per second but only about 184,000 bcrypt hashes per second at cost factor 12. That 900,000× difference in throughput translates directly into 900,000× higher adversary cost.

The pattern-detection library adds another layer of realism by recognizing that a credential following a recognizable pattern like a birthdate, a name123 format, or consecutive number sequences carries far fewer effective combinations than its character count implies. A password strength score from this analysis accounts for these shortcuts; a naive entropy calculation does not. The --hibp flag additionally checks whether a credential appears in known breach datasets, flagging any exposed password before it reaches production — supporting identity protection by catching reused or compromised secrets.

Getting Started: Installation and Setup for Your Password Strength Tester

Options and Flags Reference for the CLI Password Strength Test

Installing brtc is straightforward. Depending on your ecosystem, use one of the following package manager commands:

# Node.js / npm
npm install -g brtc

# Or run directly with npx
npx brtc "YourPasswordHere"

# Cargo (Rust)
cargo install brtc

# Python (pip)
pip install brtc

Once installed, a basic check against a single credential with pattern-aware analysis looks like:

brtc --zxcvbn --hibp "MyP@ssw0rd2024!"

To use this tool as a CI gatekeeper that fails a build when a test credential falls below a minimum cost threshold:

brtc --minimum-password-length 16 --report-only --guesses 1e12 "$(cat .env.test.password)"

The full options and flags reference is listed below:

FlagDefaultDescription
--zxcvbnoffEnables pattern-aware strength estimation. Detects dictionary words, keyboard walks, dates, and other recognizable patterns that inflate naive entropy.
--hibpoffChecks whether the credential appears in the Have I Been Pwned breach database via the HIBP API. Flags any compromised password with a warning. All checks use k-anonymity — the full hash is never transmitted.
--guessesautoManually set the estimated guess count instead of computing it from the credential. Useful for integrating external entropy sources or scripted pipelines.
--minimum-password-length8Enforces a minimum credential length. Passwords shorter than this value fail immediately, regardless of complexity or cost estimate.
--report-onlyoffEnables report-only mode: outputs the full cost analysis and flags violations without returning a non-zero exit code, so builds are not blocked.
--gpurtx-4090Selects the adversary hardware GPU profile for cost estimation. Options: rtx-4090, rtx-5090, rtx-3060, gtx-1080ti, rx-7900xtx, aws-p5.48xlarge.
--hashbcryptSpecifies the hash algorithm to simulate cracking. Options: bcrypt, md5, sha-256. This dramatically affects adversary rate and final cost.
--iterations100000Sets custom iterations for PBKDF2 work factor simulation. Higher iteration counts raise per-guess cost and extend the duration needed to exhaust keyspace.

How the Calculator Works: From Password Strength Test to Dollar Figure

Password Strength Table: Weak vs. Strong at a Glance

The following password strength table illustrates how length and password complexity, hash algorithm choice, and character set interact to produce wildly different crack time and cloud cost outcomes. All cost estimates assume an rtx-4090 GPU profile with bcrypt at cost factor 12 unless otherwise noted. This reference chart is a starting point — your actual numbers will vary based on the GPU profile and hash algorithm you select in the tool above.

Password TypeExampleEst. Guess CountCrack Time (RTX 4090, MD5)Crack Time (RTX 4090, bcrypt-12)Est. Cloud Cost (cloud provider)
Very weak — numeric only123456~1 × 10³Seconds to minutesSeconds to minutes~$0.00
Weak — common word + digitspassword123~1 × 10⁵Seconds to minutesHours to crack<$0.01
Moderate — 8-character password, mixedTr0ub4dor~2.8 × 10¹⁰Hours to weeksMonths to years$12–$80
Strong — random 12-character, mixedk9!Lz#mQ2vRp~7.5 × 10²²Centuries to crackBillions of years>$10,000,000
Very strong — 16-character password, full charsetxW3$rT8@nP1!qK5#~3.4 × 10³¹Effectively infiniteEffectively infiniteIncalculable
Passphrase — 6 random wordscorrect-horse-battery-staple-lamp-river~1.7 × 10²⁴Billions of yearsEffectively infiniteIncalculable

The pattern is clear: a 16-character password takes an adversary a billion years to crack under bcrypt, while a shorter 8-character equivalent will take anywhere from a few hours to several weeks under MD5. The password strength calculations behind these numbers rely on reliable computations anchored to published GPU benchmark data — not guesswork.

Let's Walk Through Real Password Examples: Crack Password Step by Step

The following three worked examples show the full pipeline the brute force cost calculator runs under the hood. Each one illustrates a different point about credential protection and account protection.

Example 1 — Easy-to-guess password: password123

This is one of the most common easy-to-guess passwords in the ProxyNova and similar breach datasets. It represents the weakest end of the credential quality spectrum.

  1. Entropy estimate: The pattern-detection library recognizes the dictionary word "password" followed by a sequential suffix. Effective guess count ≈ 1 × 10⁵ (far below its naive character-count entropy).
  2. Adversary rate (RTX 4090, MD5): \(\approx 1.64 \times 10^{11}\) hashes/sec
  3. Time to crack: $$T = \frac{1 \times 10^5}{1.64 \times 10^{11}} \approx 6 \times 10^{-7}\text{ seconds}$$
  4. Cloud cost (p5.48xlarge instance): Effectively $0.00 — well below any billing increment.

A password cracking attempt on this credential is a trivial risk that exposes your bank account, online accounts, and private information in under a millisecond of GPU time.

Example 2 — Random 12-character password: k9!Lz#mQ2vRp

This is a random credential generated with uppercase and lowercase letters, numbers, and punctuation symbols — the kind a good password generator produces.

  1. Character set size: 26 + 26 + 10 + 32 = 94 printable ASCII characters. Secret alphabet of 94 symbols, secret length 12.
  2. Keyspace: $$94^{12} \approx 7.5 \times 10^{23}\text{ combinations}$$
  3. Adversary rate (RTX 4090, bcrypt-12): \(\approx 1.84 \times 10^{5}\) hashes/sec
  4. Duration to sweep: $$T_{\text{sweep}} = \frac{7.5 \times 10^{23}}{1.84 \times 10^{5}} \approx 4 \times 10^{18}\text{ seconds} \approx 130\text{ billion years}$$
  5. Expected crack time: \(\approx 65\) billion years (half of sweep duration).
  6. Cloud cost (p5.48xlarge instance): Incalculably large — cracking this credential is an infeasible attack under any realistic adversary budget.

Example 3 — bcrypt passphrase vs. MD5 passphrase: Same secret, different hash algorithm

Consider a six-word passphrase with an estimated guess count of \(10^{16}\) (accounting for pattern-aware analysis). This example directly compares the impact of hash algorithm choice — the core lesson in understanding offline attacks.

  1. MD5 adversary rate (RTX 4090): \(1.64 \times 10^{11}\) hashes/sec $$T_{\text{MD5}} = \frac{10^{16}}{1.64 \times 10^{11}} \approx 60{,}000\text{ seconds} \approx 17\text{ hours to crack}$$ Cloud cost: ~$4.80
  2. bcrypt (cost factor 12) adversary rate (RTX 4090): \(1.84 \times 10^{5}\) hashes/sec $$T_{\text{bcrypt}} = \frac{10^{16}}{1.84 \times 10^{5}} \approx 5.4 \times 10^{10}\text{ seconds} \approx 1{,}700\text{ years}$$ Cloud cost: ~$153,000,000

Same credential. Same guess count. The difference in key-stretching iterations between md5 and bcrypt — what cryptography practitioners call the work factor — multiplies the adversary's cost by nearly 900,000×. This is why hashing algorithm choice is not an implementation detail — it is a primary control in your data protection architecture.

Easy-to-Guess Passwords: The Hidden Cost to You (Not the Attacker)

The irony of easy-to-guess passwords like 123456, a birthdate credential, or a name123 sequence is that the cost is near-zero for the adversary and catastrophic for you. A credential stuffing attack takes a list of breached username-password pairs and systematically tries them across hundreds of online accounts — your email, online subscriptions, online profile, even customer accounts at services like Dunkin' Brands (which was fined after a data breach stemming from credential stuffing). Once a threat actor finds a match from a previous breach, every account sharing that reused credential is exposed.

Password vulnerability is not theoretical. It is a measurable attack surface with a computable cost — and the password cracking cost to the adversary is what this tool is designed to make visceral. Weak credentials that take mere moments to crack represent a thin line between your digital identity protection and a data breach that could cost you login credentials, exposure to fraud, or worse.

Building Passwords That Break the Bank for Attackers: Password Strength Best Practices

Make It Long

Password length compounds exponentially. Every character you add multiplies the keyspace by the size of the secret alphabet. Compare:

  • An 8-character password using a 94-character charset: \(94^8 \approx 6 \times 10^{15}\) combinations — potentially crackable in a matter of days under bcrypt.
  • A 16-character credential using the same charset: \(94^{16} \approx 3.4 \times 10^{31}\) combinations — effectively billions of years to exhaust.

The guidance is simple: use credentials of 14 characters or more at a minimum. Aim for 16+ whenever the service allows it. Length is the single highest-leverage control you have on adversary cost.

DON'T use passwords with fewer than 14 characters.
DO use long passwords consisting of 14 characters or more.

Make It Random

Password randomness is what closes the gap between naive entropy and real-world guess count. An automated program using pattern-aware strength analysis can reduce the effective keyspace of a credential like P@ssw0rd! from \(94^9\) to roughly \(10^4\) because it detects the substitution cipher pattern. Conversely, a genuinely random credential — with no recognizable pattern and a mix of uppercase and lowercase letters, digits, and symbols — forces the adversary to test every combination without shortcuts.

DON'T use passwords with anything related to your personal information — no names, dates, or consecutive sequences.
DO use passwords with random combinations of uppercase and lowercase letters, numbers, and punctuation symbols unrelated to your personal information.

Make It Unique

Reusing the same password across multiple sites gives adversaries a credential stuffing shortcut. Once a single site's database is breached and your credential appears in plain text or as a cracked hash, every account sharing that login is exposed. Credential reuse is one of the most widespread and preventable vulnerabilities in existence.

DON'T reuse the same password for multiple accounts.
DO use a unique credential for every online account — your bank account, email, online subscriptions, and every other online profile you maintain.

Use a Secure Password Manager

The only realistic way to make it long, make it random, and make it unique across dozens of accounts simultaneously is to use a password manager. A good password manager lets you generate credentials, store them safely, and even securely share them with teammates — all without requiring you to memorize anything beyond a single strong master credential. Leading tools allow you to customize generation settings, including number of characters, capitalization, symbols, and special characters, then evaluate the result with a built-in evaluator before saving. This is how you move from good intentions to enforced credential hygiene at scale.

Pro tip: When generating a passphrase for high-value accounts (your password manager master credential, encryption keys, SSH passphrases), toggle to passphrases of six or more random words. A six-word random passphrase offers exceptional entropy and is far easier to memorize than a 20-character random string while achieving comparable or superior crack time estimates.

Using brtc as a CI/CD Gatekeeper in DevSecOps Development Workflows

The most powerful use case for the CI/CD gatekeeper mode is integrating brtc directly into your CI/CD pipeline to enforce credential policy at build or deploy time. This is a form of automated enforcement that catches weak passwords before they ever reach a production environment — a core principle of DevSecOps and shift-left tooling.

Privacy: Is Anything Sent to a Server? (Password Security Guarantee)

No. Every calculation is browser computed or runs locally in your terminal process. All credential evaluations are locally processed — no input is ever transmitted to any external server, and your credentials never leave your machine. This applies equally to the breach-check flag, which uses k-anonymity to query breach databases by sending only a partial hash prefix, never the full credential. The tool is open source and you can audit it line by line.

To integrate brtc as a policy enforcer in a GitHub Actions workflow:

- name: Password policy enforcement
  run: |
    npx brtc \
      --zxcvbn \
      --hibp \
      --minimum-password-length 16 \
      --gpu rtx-4090 \
      --hash bcrypt \
      --iterations 100000 \
      "${{ secrets.TEST_PASSWORD }}"

In report-only mode, add --report-only to run the full credential audit and output insights without failing the build — ideal for brownfield projects where you want to measure quality before enforcing minimum standards. This supports a gradual rollout of policy enforcement without breaking existing pipelines.

For teams working on embedded systems or IoT firmware, the tool is particularly valuable when modeling the offline attack threat against devices like an ESP32 microcontroller. A processor running PBKDF2 with high iteration count provides meaningful key stretching, but only device binding — mixing a per-device secret sealed in hardware-protected storage — makes an offline guessing attack truly infeasible. Even with PBKDF2 pbkdf2 work factor cranked high, an adversary who has obtained a dumped flash or exfiltrated vault can still sweep keyspace offline unless the key derivation requires access to a per-device secret that cannot be extracted from flash storage. This is the attack simulation the tool models most precisely for embedded hardware contexts.

CI integration also supports contributor guidelines for open source projects. Teams can document the minimum credential length, required hash algorithms, and GPU profile assumptions in a .brtc.config file committed to the repository. New contributors and automated pipeline runs reference the same configuration, ensuring consistent credential auditing across the entire development workflow. The tool's license is permissive for both commercial and open source use — check the releases and changelog in the repository for the latest version and any updates to the hardware profiles or cloud GPU cost tables.

For penetration testing and threat modeling exercises, brtc provides a rapid attack simulation baseline. Instead of manually computing GPU throughput and cloud infrastructure money costs, defensive teams can run the tool against a full credential set and immediately see which passwords represent a realistic attack vector and which are genuinely protected by their length, randomness, complexity, and algorithm choice. This kind of credential auditing informs policy decisions with concrete data — not instinct — and it's the foundation of sound credential management at both the individual and enterprise level.

Network teams evaluating authentication systems can use the tool's output to quantify the infrastructure cost an adversary would need to sustain a prolonged exhaustive attack. Understanding that cracking a bcrypt-hashed 16-character credential on a high-end cloud instance would cost tens of millions of dollars in computing fees makes the ROI of strong credential policy immediately legible to non-technical stakeholders. That translation — from abstract cybersecurity guidance to concrete financial cost — is why this brute force cost calculator belongs in every engineer's toolkit.

Frequently Asked Questions

What does "effective rate" mean here?
It's the raw GPU hash rate divided by the number of hashing iterations -- e.g. a GPU that computes 22 billion raw SHA-256 hashes per second can only test about 628,000 candidate passwords per second against a password hashed with 35,000 PBKDF2 iterations, since each guess requires running the hash function that many times.
Why does the iteration count matter so much?
It's one of the single biggest factors in real-world crack resistance -- properly configured PBKDF2/bcrypt/scrypt/Argon2 deliberately slow down each guess attempt by thousands to millions of iterations, turning a GPU's raw billions-of-hashes-per-second speed into a much smaller effective guesses-per-second rate. A site using an unsalted, un-iterated hash (or worse, storing plaintext) offers none of this protection.
Are these GPU hash-rate figures accurate?
They're based on commonly cited raw SHA-256 benchmark figures for each card (the same figures published in hashcat and mining benchmarks) as of when this tool was built -- treat them as reasonable estimates, not live real-time figures. Use the Custom option to plug in your own measured or updated rate.
What's the difference between average and worst-case time?
Worst-case is the time to exhaust the entire possible combination space; average-case assumes the correct password is found, on average, halfway through that space -- which is the standard way crack-time estimates are usually presented, since an attacker isn't guaranteed to need the full search.
Is this calculation sent anywhere?
No. Every calculation runs entirely in your browser using simple arithmetic -- nothing is transmitted to a server or stored.