A simple password strength checker
npm install password-scorerpassword-scorer is a tool for evaluating the strength of passwords. It provides a score based on various security criteria and offers feedback and descriptions in multiple languages.
sh
npm i password-scorer
`
Usage
Here is a basic example of how to use password-scorer:
`javascript
import { passwordScorer } from 'password-scorer';
const result = passwordScorer('YourPassword123!', 'en');
console.log(result);
// Output:
// {
// score: 100,
// feedback: [],
// description: 'perfect'
// }
`
Function passwordScorer
Parameters
- password (string): The password you want to evaluate.
- language (string): The language for feedback and descriptions (optional, default is 'en').
Return
The function returns an object with the following properties:
- score (number): The password score (from 0 to 100).
- feedback (string[]): Suggestions on how to improve the password.
- description (string): A description of the password's strength based on the score.
Supported Languages
| Language | Code |
|--------------------|--------|
| English | en |
| Spanish | es |
| German | de |
| Simplified Chinese | zh |
| Japanese | ja |
| Traditional Chinese| zh_TW |
| Portuguese | pt |
| French | fr |
$3
`javascript
import { passwordScorer } from 'password-scorer';
const result = passwordScorer('TuContraseña123!', 'es');
console.log(result);
// Output:
// {
// score: 100,
// feedback: [],
// description: 'perfecta'
// }
`
Examples of Passwords with Different Scores
Score: 0 (Very Weak)
`javascript
const result = passwordScorer('');
console.log(result);
// Output:
// {
// score: 0,
// feedback: ["The password is empty."],
// description: 'very weak'
// }
`
Score: 20 (Weak)
`javascript
const result = passwordScorer('1234567');
console.log(result);
// Output:
// {
// score: 20,
// feedback: ["Must be more than 8 characters."],
// description: 'weak'
// }
`
Score: 40 (Good)
`javascript
const result = passwordScorer('abcdefgh');
console.log(result);
// Output:
// {
// score: 40,
// feedback: ["Must contain at least one number.", "Must contain at least one uppercase letter.", "Must contain at least one symbol (e.g., !, @, #, $, %, ^, &, *)."],
// description: 'good'
// }
`
Score: 60 (Very Good)
`javascript
const result = passwordScorer('abcde123');
console.log(result);
// Output:
// {
// score: 60,
// feedback: ["Must contain at least one uppercase letter.", "Must contain at least one symbol (e.g., !, @, #, $, %, ^, &, *)."],
// description: 'very good'
// }
`
Score: 80 (Excellent)
`javascript
const result = passwordScorer('Abcde123');
console.log(result);
// Output:
// {
// score: 80,
// feedback: ["Must contain at least one symbol (e.g., !, @, #, $, %, ^, &, *)."],
// description: 'Excellent'
// }
`
Score: 100 (Perfect)
`javascript
const result = passwordScorer('Abcdefg123!');
console.log(result);
// Output:
// {
// score: 100,
// feedback: [],
// description: 'perfect'
// }
``