4.0.16 • Published 2 years ago

cracklibjs v4.0.16

Weekly downloads
4
License
MIT
Repository
github
Last release
2 years ago

cracklibjs

Pure JS Cracklib-inspired library for Node.

npm version CircleCI codecov Known Vulnerabilities

Donate


Installation

npm i cracklibjs

Usage

import cracklib from 'cracklibjs'
// if you're using `require`, you'll need to `require('cracklibjs').default`

const pw = process.argv[2] // or something

// Init with options. The wordlist is parsed here, so future calls
// don't have to do all that work again.
// `check: (word: string) => PasswordValidationError | string (word)`
const check = cracklib() // cracklib(options)
// The `options` param is optional.
// type Options = {
//   dict: string = '/usr/share/dict/words'; path to dictionary file
//   minLength: number = 8; minimum password length
//   loose: bool = false; see below for loose vs strict
// }

const validate = (pw) => {
  try {
    return check(pw)
  } catch (e) {
    return e.message // example: 'Password is too short'
  }
}

The loose option, when true, disables:

  • Case-insensitive checks
  • Reversed string checks
  • md5, sha1, sha256, and sha512 checks

Questions

  • Why?
    • The npm package cracklib isn't a vanilla JS solution, has external dependencies, and may not build on all Unix-like systems and future versions of Node.
  • I have more than one word list, what should I do?
  • This seems slow!
    • Don't initialize more than once. Initialization can be slow, depending on your word list and your machine. Hopefully the actual check is fast.

LICENSE

4.0.16

2 years ago

4.0.15

2 years ago

4.0.14

2 years ago

4.0.13

2 years ago

4.0.12

2 years ago

4.0.10

3 years ago

4.0.11

3 years ago

4.0.9

3 years ago

4.0.8

3 years ago

4.0.7

3 years ago

4.0.5

3 years ago

4.0.6

3 years ago

4.0.4

3 years ago

4.0.3

3 years ago

4.0.2

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.0.7

5 years ago

3.0.6

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.11.1

7 years ago

0.11.0

7 years ago

0.10.4

7 years ago

0.10.3

7 years ago

0.10.2

7 years ago

0.10.1

7 years ago

0.10.0

7 years ago

0.9.2

7 years ago

0.9.1

7 years ago

0.9.0

7 years ago

0.8.0

7 years ago

0.7.0

7 years ago

0.6.0

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.1

7 years ago