npm.io
1.1.0 • Published 2d ago

pass-utils

Licence
ISC
Version
1.1.0
Deps
0
Size
14 kB
Vulns
0
Weekly
0
Stars
1

pass-utils

Secure, customizable password generator for Node.js — supports complexity rules, exclusions, and bulk generation.

npm version License

Features

  • Fully customizable password composition
  • Specify minimum requirements (uppercase, lowercase, numbers, symbols)
  • Exclude similar or specific characters
  • Generate one or multiple passwords
  • Uses crypto.getRandomValues() for secure randomness
  • Zero dependencies

Installation

npm install pass-utils

Usage

const { generatePassword } = require("pass-utils");

const password = generatePassword(16, {
  uppercase: true,
  lowercase: true,
  numbers: true,
  symbols: true,
  similar: false,
  exclude: "aeiou",
}, {
  minUpper: 2,
  minLower: 4,
  minNumbers: 2,
  minSymbols: 2,
});

console.log(password); // Output: "Kf#7gR!cP2xMbL9q"

Generating multiple passwords

const { generateMultiplePasswords } = require("pass-utils");

const passwords = generateMultiplePasswords(5, 12, {
  symbols: false,
  similar: true,
}, {
  minUpper: 1,
  minLower: 3,
  minNumbers: 2,
});

console.log(passwords);
/*
Output:
[
  'gZ0rWx8BkpAf',
  'uzhB3yDA0wkd',
  'MkwbpZ08uhxy',
  '2WyuDfR6vhga',
  '3bHJw96zFqmt'
]
*/

API

generatePassword(length, options?, requirements?)

Parameter Type Description
length number Length of the generated password
options object Optional settings for character types and exclusions (default: all enabled)
requirements object Optional requirements for minimum characters per type

Options object

Parameter Type Default Description
uppercase boolean true Include uppercase letters
lowercase boolean true Include lowercase letters
numbers boolean true Include numbers
symbols boolean true Include special characters
similar boolean true Allow similar-looking characters (like O, 0, l, 1)
exclude string "" Custom string of characters to exclude

Requirements object

Key Type Default Description
minUpper number 0 Minimum number of uppercase characters
minLower number 0 Minimum number of lowercase characters
minNumbers number 0 Minimum number of numeric characters
minSymbols number 0 Minimum number of special characters