NIST SP 800-63B Strong Password & Passphrase Generator
Generate cryptographically secure random passwords, memorable Diceware passphrases, and PINs following NIST SP 800-63B guidelines. Shannon entropy and crack time estimator.
NIST SP 800-63B Compliant Strong Password & Passphrase Generator
About
Our NIST SP 800-63B Compliant Strong Password & Passphrase Generator produces high-entropy credentials, memorable diceware passphrases, and secure numeric PINs powered by the browser's hardware-backed Cryptographically Secure Pseudorandom Number Generator (CSPRNG). Every character is selected locally using unbiased rejection sampling over crypto.getRandomValues(). Zero plaintext passwords, seeds, or telemetry metrics are ever transmitted across the network.
NIST SP 800-63B Guidelines & Modern Password Security
The National Institute of Standards and Technology (NIST) overhauled digital identity standards under Special Publication 800-63B, establishing:
- Length Over Complexity: Length provides exponentially higher mathematical entropy than arbitrary character complexity.
- No Arbitrary Expiration: Forcing 90-day password resets causes predictable human behavior.
- Memorable Passphrases: Multi-word passphrases provide 80-100+ bits of entropy while remaining humanly typeable.
Shannon Entropy & GPU Brute-Force Time Estimation
| Password Type | Pool Size | Entropy | Combinations | Estimated Crack Time (100B Guesses/sec) | Security Status |
|---|---|---|---|---|---|
| 8-Char Lowercase Alphanumeric | 36 | ~41.4 bits | 2.82 x 10^12 | 28 Seconds | CRITICAL: Instantly cracked |
| 10-Char Mixed Case + Numbers | 62 | ~59.5 bits | 8.39 x 10^17 | ~97 Days | UNSAFE: Easily cracked on cloud GPU |
| 12-Char Full ASCII (Symbols) | 94 | ~78.7 bits | 4.76 x 10^23 | ~1,500 Years | Minimum recommended baseline |
| 16-Char Standard (Web Default) | 94 | ~104.9 bits | 3.68 x 10^31 | 1.1 x 10^13 Years | STRONG: Far exceeds age of universe |
| 4-Word Diceware Passphrase | 77 | ~100 bits | 1.26 x 10^30 | 4.0 x 10^11 Years | HIGHLY RECOMMENDED: Secure and memorable |
Developer Implementation Code Snippets
Node.js & TypeScript
export function generatePassword(length = 20): string {
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_=+';
const buf = new Uint32Array(length);
crypto.getRandomValues(buf);
return Array.from(buf, n => chars[n % chars.length]).join('');
}
Python 3
import secrets, string
alphabet = string.ascii_letters + string.digits + "!@#$%^&*()-_=+"
password = ''.join(secrets.choice(alphabet) for _ in range(24))