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
- Select Password Generator.
- Enter a password length.
- Leave Deterministic (seeded) mode disabled.
- Click Generate.
- Copy the generated password.
Settings
| Setting | Value |
|---|---|
| Minimum length | 8 characters |
| Maximum length | 128 characters |
| Default length | 32 characters |
| Character selection | Uppercase, lowercase, digits, symbols |
| Random source | crypto.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?cY5This is an illustrative example, not a password you should reuse.
Deterministic Password Generation
Deterministic mode generates repeatable passwords from user-supplied inputs.
Inputs
| Field | Description | Required |
|---|---|---|
| Seed phrase | Main secret phrase | Yes |
| Site tag/domain | Distinguishes passwords for different services | Yes |
| Counter | Allows generation of a different password | Defaults to 1 |
| Length | Requested password length | Defaults to 32 |
Usage
- Select Password Generator.
- Enable Deterministic (seeded) mode.
- Enter a strong secret seed phrase.
- Enter a site identifier.
- Enter the counter.
- Choose the password length.
- Click Generate.
Example Inputs
Seed: [your secret seed phrase]
Site: example.com
Counter: 1
Length: 32The same inputs reproduce the same password.
Changing the site, counter, seed, or length can change the generated password.
Algorithm
Deterministic generation uses:
| Component | Implementation |
|---|---|
| Key derivation | PBKDF2 |
| Hash | SHA-256 |
| Iterations | 200,000 |
| Version namespace | v1 |
| Character mapping | Rejection 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
- Select Password Strength.
- Enter a password.
- Click Check.
- Review the score.
Scoring Rules
| Condition | Points |
|---|---|
| More than 8 characters | 1 |
| Contains an uppercase letter | 1 |
| Contains a digit | 1 |
| Contains a nonalphanumeric character | 1 |
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
- Select Entropy.
- Enter text.
- Click Calculate Entropy.
- 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:
AAAAAll characters are identical, so the calculated entropy is:
0.0000 bits/charInput:
ABABEach character occurs with equal frequency:
1.0000 bits/charInterpretation
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.
Updated 9 days ago
