Zxcvbn

zxcvbn

Password strength estimator!

zxcvbn is a uniq module through pattern matching and conservative estimation recognizes and weighs 30k common passwords helps us to estimate various parameters related to the strength of the password and also gives us the suggestion to improve the password.

Get it: npm install zxcvbn

__Sample

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
const zxcvbn = require('zxcvbn');

zxcvbn('Tr0ub4dour&3');

// ^ Would return an object like below:

/*

{
  "password": "Tr0ub4dour&3",
  "guesses": 19058000,
  "guesses_log10": 7.280077322611945,
  "sequence": [
    {
      "pattern": "dictionary",
      "i": 0,
      "j": 9,
      "token": "Tr0ub4dour",
      "matched_word": "troubadour",
      "rank": 11905,
      "dictionary_name": "us_tv_and_film",
      "reversed": false,
      "l33t": true,
      "sub": {
        "0": "o",
        "4": "a"
      },
      "sub_display": "0 -> o, 4 -> a",
      "base_guesses": 11905,
      "uppercase_variations": 2,
      "l33t_variations": 4,
      "guesses": 95240,
      "guesses_log10": 4.978819386732842
    },
    {
      "pattern": "bruteforce",
      "token": "&3",
      "i": 10,
      "j": 11,
      "guesses": 100,
      "guesses_log10": 2
    }
  ],
  "calc_time": 2,
  "crack_times_seconds": {
    "online_throttling_100_per_hour": 686088000,
    "online_no_throttling_10_per_second": 1905800,
    "offline_slow_hashing_1e4_per_second": 1905.8,
    "offline_fast_hashing_1e10_per_second": 0.0019058
  },
  "crack_times_display": {
    "online_throttling_100_per_hour": "21 years",
    "online_no_throttling_10_per_second": "22 days",
    "offline_slow_hashing_1e4_per_second": "32 minutes",
    "offline_fast_hashing_1e10_per_second": "less than a second"
  },
  "score": 2,
  "feedback": {
    "warning": "",
    "suggestions": [
      "Add another word or two. Uncommon words are better.",
      "Capitalization doesn't help very much",
      "Predictable substitutions like '@' instead of 'a' don't help very much"
    ]
  }
}
*/

GIF FTW!

zxcvbn

Suggest a module

Comments