password-strength-score
Version:
Password strength score checker
85 lines (62 loc) • 3.84 kB
Markdown
[](https://www.npmjs.com/package/password-strength-score)
[](https://www.npmjs.com/package/password-strength-score)
[](https://coveralls.io/github/bartlomiejzuber/password-strength-score)
[](https://travis-ci.org/bartlomiejzuber/password-strength-score)
[](https://github.com/bartlomiejzuber/password-strength-score/blob/master/LICENSE)
<p align="center">
<img src="https://raw.githubusercontent.com/bartlomiejzuber/password-strength-score/master/assets/icon2.png" alt="hook icon"/>
</p>
Smallish password strength utility.
```sh
npm i password-strength-score --save
```
Alternatively you may use `yarn`:
```sh
yarn add password-strength-score
```
Link to npm:
[](https://www.npmjs.com/package/password-strength-score)
Basic
```javascript
import { passwordStrength } from 'password-strength-score';
passwordStrength('pass'); // returns 1 because password has only lowercase chars
passwordStrength('pass1'); // returns 2 because password has lowercase chars and a number
```
Strength meter component utility
```javascript
import { passwordStrength, PasswordStrength } from 'password-strength-score';
import chroma from 'chroma-js';
const getPasswordScoreGradientColor = (password) => {
const score = passwordStrength(password);
chroma
.scale(['#FF4047','#00FF6E'])
.mode('rgb')
.colors(PasswordStrength.MaxScore); // generate colors array between #FF4047 - #00FF6E
return colors[score]; // Returns one color between #FF4047 - #00FF6E
};
```
| Flag | Test | Points |
| ------------ | -------------------- | ------ |
| isLong | password.length > 6 | 1 |
| isVeryLong | password.length > 12 | 1 |
| hasUppercase | /[a-z]/ | 1 |
| hasLowercase | /[A-Z]/ | 1 |
| hasNumbers | /\d/ | 1 |
| hasNonalphas | /\W/ | 1 |
| Option | Description | Default |
| ----------------------- | ------------------------------------------------------ | ------- |
| isLong | Length for password to be consider as long | 6 |
| isVeryLong | Length for password to be consider as very long | 12 |
| withoutUppercase | Turn off score point for uppercase char occurrence | false |
| withoutLowercase | Turn off score point for lowercase char occurrence | false |
| withoutNumbers | Turn off score point for numbers occurrence | false |
| withoutNonalphanumerics | Turn off score point for alphanumerics char occurrence | false |
This package is fully tested with total coverage set to [](https://coveralls.io/github/bartlomiejzuber/use-open-window). If you found any issue please report it [here](https://github.com/bartlomiejzuber/password-strength-score/issues/new).
Made with :sparkling_heart: by [Bartlomiej Zuber (bartlomiej.zuber@outlook.com)](mailto:bartlomiej.zuber@outlook.com) while traveling around the world, and licensed under the [MIT License](LICENSE)