chromepass
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

chromepass

npm version codecov License Dependency Status devDependency status downloads semantic-release continuous integration release

Google Chrome password generator algorithm.

The application runs 100% locally, we do not track anything.

Install

npm install chromepass
// or
npm install git+ssh://git@github.com/jojoee/chromepass
// or run globally
npm install -g chromepass
chromepass
chromepass 10

Example usage

// commonjs
const { generator } = require('chromepass').default.v1
for (let i = 0; i < 10; i++) {
  const password = generator()
  console.log(password)
}

// ES6
import chromepass from "chromepass"
const generator = chromepass.v1.generator
for (let i = 0; i < 10; i++) {
  const password = generator()
  console.log(password)
}

Algorithm

Algorithm is described in password_generator.cc.

  1. Define a set of character which contains 4 classes

    • lowercase
    • uppercase
    • number
    • special character
  2. Remove characters due to visual similarity

    • l (lowercase L)
    • I (capital i)
    • 1 (one)
    • O (capital o)
    • 0 (zero)
    • o (lowercase O)

    So, we will got all possible characters in each class

    • lowercase: abcdefghijkmnpqrstuvwxyz
    • uppercase: ABCDEFGHJKLMNPQRSTUVWXYZ
    • number: 23456789
    • special character: *!-@%#.$_& (without ambiguous characters e.g. {}[]()/\'":;)
  3. Generate

    3.1 Random minimum character of each class - lowercase: 1 character - uppercase: 1 character - number: 1 character - special character: 1 character

    3.2 Random the rest evenly, until met 15 character length

  4. Shuffle up to 5 if found -- and __ in a generated password to improve readability

Reference

Package Sidebar

Install

npm i chromepass

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

14 kB

Total Files

12

Last publish

Collaborators

  • jojoee