Skip to content

Universal (Node.js and browsers) library for generating cryptographically-secure passwords.

License

Notifications You must be signed in to change notification settings

junkurihara/generate-password

 
 

Repository files navigation

Generate Password TS

npm version codecov Unit Test

This library generate-password-ts was forked from the original Node.js version generate-password: https://github.com/brendanashworth/generate-password. This forked version was totally re-written in TypeScript from the original JS version and supports not only Node.js but also browsers without need of crypto-browserify.

Generate Password is a (relatively) extensive library for generating random and unique passwords.

Install

$ npm install generate-password-ts --save

or

$ yarn add generate-password-ts

For browsers, you can use node_modules/generate-password-ts/dist/generate-password-ts.bundle.js via script tags. If you simply import it at your code and use webpack (v5+), crypto-browserify should be explicitly ignored by specifying

resolve: {
  fallback: { 'crypto': false }
}

in webpack.config.js.

Usage

generate([options])

Generate one password with the given options. Returns a string.

import generator from 'generate-password-ts';

const password = generator.generate({
	length: 10,
	numbers: true
});

// 'uEyMTw32v9'
console.log(password);

generateMultiple(amount[, options])

Bulk generate multiple passwords at once, with the same options for all. Returns an array.

import generator from 'generate-password-ts';

const passwords = generator.generateMultiple(3, {
	length: 10,
	uppercase: false
});

// [ 'hnwulsekqn', 'qlioullgew', 'kosxwabgjv' ]
console.log(passwords);

Available options

Any of these can be passed into the options object for each function.

Name Description Default Value
length Integer, length of password. 10
numbers* Boolean, put numbers in password. false
symbols* Boolean or String, put symbols in password. false
lowercase* Boolean, put lowercase in password true
uppercase* Boolean, use uppercase letters in password. true
excludeSimilarCharacters Boolean, exclude similar chars, like 'i' and 'l'. false
exclude String, characters to be excluded from password. ''
strict Boolean, password must include at least one character from each pool. false

*At least one should be true.

About

Universal (Node.js and browsers) library for generating cryptographically-secure passwords.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 53.8%
  • TypeScript 46.2%