4.0.16 • Published 4 months ago

cracklibjs v4.0.16

Weekly downloads
4
License
MIT
Repository
github
Last release
4 months 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

4 months ago

4.0.15

10 months ago

4.0.14

1 year ago

4.0.13

1 year ago

4.0.12

1 year ago

4.0.10

1 year ago

4.0.11

1 year ago

4.0.9

1 year ago

4.0.8

1 year ago

4.0.7

2 years ago

4.0.5

2 years ago

4.0.6

2 years ago

4.0.4

2 years ago

4.0.3

2 years ago

4.0.2

3 years ago

4.0.1

3 years ago

4.0.0

4 years ago

3.0.7

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.4

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.0.4

4 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.11.1

6 years ago

0.11.0

6 years ago

0.10.4

6 years ago

0.10.3

6 years ago

0.10.2

6 years ago

0.10.1

6 years ago

0.10.0

6 years ago

0.9.2

6 years ago

0.9.1

6 years ago

0.9.0

6 years ago

0.8.0

6 years ago

0.7.0

6 years ago

0.6.0

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.1

6 years ago