Password Generation, Strength, and Entropy

Cryptology Monster includes random and deterministic password generation, a basic password strength checker, and a Shannon entropy calculator.

Random Password Generator

The random generator creates passwords containing letters, numbers, and special characters.

Usage

  1. Select Password Generator.
  2. Enter a password length.
  3. Leave Deterministic (seeded) mode disabled.
  4. Click Generate.
  5. Copy the generated password.

Settings

SettingValue
Minimum length8 characters
Maximum length128 characters
Default length32 characters
Character selectionUppercase, lowercase, digits, symbols
Random sourcecrypto.getRandomValues()

The generator uses this character set:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{}<>?

Each generated character is selected from that set.

The implementation uses the remainder operator to map random integers to characters. This introduces a small statistical bias rather than perfectly uniform sampling.

Example

A generated password might resemble:

K9#mP4!zQ2@vL8%tR6$xN3&bW7?cY5

This is an illustrative example, not a password you should reuse.

Deterministic Password Generation

Deterministic mode generates repeatable passwords from user-supplied inputs.

Inputs

FieldDescriptionRequired
Seed phraseMain secret phraseYes
Site tag/domainDistinguishes passwords for different servicesYes
CounterAllows generation of a different passwordDefaults to 1
LengthRequested password lengthDefaults to 32

Usage

  1. Select Password Generator.
  2. Enable Deterministic (seeded) mode.
  3. Enter a strong secret seed phrase.
  4. Enter a site identifier.
  5. Enter the counter.
  6. Choose the password length.
  7. Click Generate.

Example Inputs

Seed: [your secret seed phrase]
Site: example.com
Counter: 1
Length: 32

The same inputs reproduce the same password.

Changing the site, counter, seed, or length can change the generated password.

Algorithm

Deterministic generation uses:

ComponentImplementation
Key derivationPBKDF2
HashSHA-256
Iterations200,000
Version namespacev1
Character mappingRejection sampling

The salt is constructed from the application name, version, site, and counter.

The output is deterministic: anyone who knows the seed and other inputs can reproduce the password.

Security Considerations

  • Choose a strong, unpredictable seed.
  • Do not use a short or commonly known phrase.
  • Keep the seed secret.
  • Record the exact site identifiers and counters.
  • Changing the seed may prevent regeneration of existing passwords.
  • Deterministic passwords are not inherently safer than independently generated random passwords.

The seed effectively becomes a master secret for all passwords derived from it.

Password Strength Checker

The strength checker uses a simple four-point scoring system.

Usage

  1. Select Password Strength.
  2. Enter a password.
  3. Click Check.
  4. Review the score.

Scoring Rules

ConditionPoints
More than 8 characters1
Contains an uppercase letter1
Contains a digit1
Contains a nonalphanumeric character1

Maximum score: 4/4.

Limitations

This score does not measure true password resistance to guessing.

It does not evaluate:

  • Common or leaked passwords
  • Dictionary words
  • Predictable substitutions
  • Repeated patterns
  • Password reuse
  • Actual search-space size

A password scoring 4/4 may still be weak.

The password field in this tool is an ordinary text input, so characters may be visible while typing.

Shannon Entropy Calculator

The entropy tool measures the distribution of characters within entered text.

Usage

  1. Select Entropy.
  2. Enter text.
  3. Click Calculate Entropy.
  4. Review the result.

The tool uses Shannon entropy:

H = -Σ p(x) × log₂(p(x))

Where p(x) is the observed frequency of character x divided by the text length.

Example

Input:

AAAA

All characters are identical, so the calculated entropy is:

0.0000 bits/char

Input:

ABAB

Each character occurs with equal frequency:

1.0000 bits/char

Interpretation

Higher observed Shannon entropy indicates a more varied distribution of characters.

It does not establish the cryptographic strength of a password or the unpredictability of how the text was generated.

The implementation uses JavaScript string length, so some Unicode characters can affect the reported statistic.

Recommendations

Use the random generator for independently generated passwords and deterministic mode only when you understand the implications of protecting a master seed.

For password quality, length, uniqueness, and unpredictability matter more than the basic four-point strength score.


Did this page help you?