HomePluginsToolsGuidesPortfolioWorkflowAboutWork with usContact
GetSet

We build and fix production web applications, and publish the UI packages and free browser tools on this site.

info@get-set.it

Explore

  • Plugins
  • Tools
  • Guides
  • Portfolio

Company

  • About
  • Workflow
  • Work with us
  • Contact

Legal

  • Terms
  • Privacy
  • Accessibility
  • Cookies

© 2026 GetSet

We're on npm

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Guides / Security

Password Entropy: Why "Tr0ub4dor&3" Loses to Four Random Words

How entropy is actually calculated, why substitution tricks add almost nothing, what crack-time estimates assume, and where generated passwords and passphrases each belong.

By the GetSet engineering team · Published 2026-08-06 · 6 min read · Related tool: Password Generator

Entropy is about the process, not the string

A password’s strength is the number of equally-likely alternatives the generation process could have produced, measured in bits: entropy = length × log₂(alphabet size) — *if and only if* every character was chosen uniformly at random. A human "randomly" typing produces nothing close to uniform: dictionary words, keyboard walks and birthdays collapse the real search space by orders of magnitude. Attackers do not brute-force character-by-character; they brute-force *the way people think*.

This is why Tr0ub4dor&3 is weak despite its symbols: it is one dictionary word with predictable substitutions (0 for o, 4 for a) plus a trailing symbol-digit — a pattern every cracking tool tries early. Four genuinely random common words (correct horse battery staple style) draw from ~2⁷⁷ possibilities and beat it by thirty-plus bits.

What crack-time estimates really assume

A "3 centuries to crack" estimate assumes a specific attacker: offline attack against a leaked hash, at some guesses-per-second rate. The rate varies by a factor of a million depending on how the site hashed your password — GPU rigs try hundreds of billions of MD5 guesses per second but only tens of thousands against a properly tuned bcrypt or Argon2. You cannot control the site’s hashing; you can control being far enough into the search space that even the fast case is hopeless. Aim for 80+ bits; 100+ for anything guarding money or email.

Passkeys and MFA: the password is no longer alone

Password strength matters most where a password is the *only* factor. Two developments change that calculus. Multi-factor authentication — an authenticator app code or, far better, a hardware key — means a cracked or phished password alone does not open the account; SMS codes are the weakest MFA (SIM-swapping is routine) but still beat nothing. Passkeys go further: a public-key credential bound to your device and the site’s real domain, unlocked by biometrics or PIN. There is no shared secret to leak, nothing to type, and phishing sites cannot use them because the key refuses to sign for the wrong origin. Where a service offers passkeys, enable them; keep a strong password as the fallback and turn on MFA for it.

Storing passwords if you build the login

If you are on the other side — writing the system that *receives* passwords — the rules are short and non-negotiable. Never store a password; store a slow, salted hash from a purpose-built algorithm: Argon2id (preferred), scrypt, or bcrypt with a work factor tuned so a hash takes ~100–250 ms on your hardware. Never use MD5, SHA-1 or plain SHA-256 for passwords — they are fast by design, which is exactly what an attacker wants. Compare hashes in constant time, rate-limit and lock out on repeated failures, and check new passwords against known-breached lists (the k-anonymity API of Have I Been Pwned lets you do this without sending the password). Length limits should be generous (64+ characters) and composition rules minimal — NIST’s current guidance is length and breach-checking over forced symbols and rotation.

Generated strings vs passphrases: both, in different places

  • Random 20+ character strings for everything stored in a password manager — maximum entropy per character, and you never type them.
  • Diceware-style passphrases (5+ random words) for the few secrets you must type or memorize: the manager’s master password, disk encryption, your OS login.
  • Never reuse either. Credential-stuffing from old breaches compromises more accounts than cracking does; uniqueness beats strength.
  • Length beats complexity rules: a 16-character lowercase string out-entropies an 8-character string using all four character classes.
Generate cryptographically random passwords and memorable passphrases — with a live entropy meter and honest crack-time estimates — using the Password Generator. Generation happens locally via crypto.getRandomValues(); nothing is transmitted or stored.

Keep reading

Images

WebP vs AVIF vs PNG vs JPG: Choosing the Right Image Format in 2026

7 min read
Data

CSV, JSON and XLSX: The Conversion Pitfalls That Corrupt Your Data

8 min read
Code

Minify vs Beautify: What Code Formatting Actually Does to Your Files

6 min read

We write these guides from our client work. If you’d rather have it built than explained, we’re available.

Work with us Contact us