Password Generator

Strong random passwords with control over length and character sets.

Overview

Generates cryptographically secure, high-entropy random passwords with customizable character sets, lengths, and symbols using the Web Crypto API.

Formula & Calculation Method

Password = Sample_Uniform_Crypto_Bytes(Character_Set, Length)

Uses crypto.getRandomValues() to sample from uppercase, lowercase, numbers, and symbols without modulo bias.

Worked Example: 16-Character Secure Master Password

Inputs: Length = 16 Characters | Uppercase: Yes | Lowercase: Yes | Numbers: Yes | Symbols: Yes

  • Pool size = 26 + 26 + 10 + 32 = 94 possible characters.
  • Entropy per character = log2(94) = 6.55 bits.
  • Total Password Entropy = 16 × 6.55 = 104.8 bits (Mathematically Uncrackable via Brute Force).

Summary: Length = 16 | Entropy = 105 Bits | Strength = Very Strong | Generation = 100% Client-Side

Common Use Cases

  • Master Password Creation: Generate high-entropy master passwords for 1Password, Bitwarden, or Apple Keychain.
  • Database & Server Credentials: Create secure, random passwords for MySQL root users, API tokens, and SSH keys.
  • WiFi Security Keys: Generate 64-character WPA3 pre-shared keys for commercial wireless networks.

Frequently Asked Questions

Why is Math.random() unsafe for passwords?

Math.random() is not cryptographically secure; attackers can observe previous outputs and predict future generated passwords.

Are passwords generated on Calciverse stored anywhere?

No. Passwords are generated strictly inside your browser's local sandbox memory using crypto.getRandomValues().

How long should a strong password be?

Cybersecurity experts recommend a minimum of 16 characters with mixed uppercase, lowercase, numbers, and special symbols.

Related Calculators & Tools