ProtemKey

Password generator

Random characters from the sets you choose, each picked uniformly by your browser's cryptographic generator. The default, 20 characters from 75, gives 124.6 bits.

Your password appears here (the generator needs JavaScript).
Symbol set

Why it is strong

124.6 bitsVery strong
  • 20 characters, each one of 75124.6 bits

75²⁰ ≈ 3.2 × 10³⁷ equally likely passwords.

Online, rate-limitedabout 1031 years100 guesses per hour
Offline, slow hashabout 1025 years10,000 guesses per second
Offline, fast hashabout 1018 years100 billion guesses per second

Average time to guess (half of all possibilities). The rates are illustrative assumptions, not measurements.

How the strength is computed

For a password of length L drawn from a set of N characters, every one of NL strings is equally likely, so the entropy is exactly L × log2(N) bits. The meter above is that number for your settings, not a guess from the output.

“At least one of each kind” changes the count. Strings missing a kind are no longer allowed, so the generator counts what is left with inclusion-exclusion (all strings, minus those missing one kind, plus those missing two, and so on) and draws again whenever a password breaks the rule. Redrawing keeps every allowed password equally likely; patching a character in afterwards would not. The rule costs little for long passwords and more for short ones: for 8 characters from all 94 it removes about 54% of the strings, 1.1 bits (worked through on the methodology page).

Bits by length and character set

Bits of entropy for random passwords: length × log2(characters in the set).
LengthDigits (10)Lowercase (26)Letters (52)Letters + digits (62)All printable ASCII (94)
826.637.645.647.652.4
1033.247.057.059.565.5
1239.956.468.471.578.7
1446.565.879.883.491.8
1653.275.291.295.3104.9
2066.494.0114.0119.1131.1
2479.7112.8136.8142.9157.3

The options

NIST's current guidance (SP 800-63B-4) tells services not to impose composition rules at all, and to accept at least 64 characters. Many still do impose them, so the options are here to satisfy them, not because mixing kinds is what makes a random password strong. Length is: see why length beats complexity.