Generating secure and random passwords is a common necessity in today's digital world. The @smakss/password-generator
package simplifies this task, providing an easy-to-use tool for creating random passwords. Whether you need a single password or a bulk set, this package offers the flexibility to include various character types or use a custom set of characters.
Explore the functionality in a live environment on CodeSandbox:
To install the package, run:
npm i @smakss/password-generator
# or
yarn add @smakss/password-generator
To include it using CommonJS syntax:
const PasswordGenerator = require('@smakss/password-generator');
For ECMAScript modules:
import PasswordGenerator from '@smakss/password-generator';
The PasswordGenerator
function accepts an options object with the following parameters:
length
(number
, Default: random between 1-20): The length of the desired password.includeLower
(boolean
, Default:true
): Include lowercase characters.includeCaps
(boolean
, Default:true
): Include uppercase characters.includeNums
(boolean
, Default:true
): Include numeric characters.includeSpecs
(boolean
, Default:true
): Include special characters.characters
(string
): Specify a custom string of characters for the password.numberOfPasswords
(number
): Number of passwords to generate in bulk.
const password = PasswordGenerator();
// Result might be something like: "s%gu?TcT]bvc9"
const password = PasswordGenerator({ length: 10 });
// Result might be something like: ",tWy%[T8fU"
const password = PasswordGenerator({
length: 10,
includeLower: false,
includeNums: false
});
// Result might be something like: ":+U,G:JNXL"
const password = PasswordGenerator({ length: 10, characters: 'a1~' });
// Result might be something like: "~a~a1~~~a~"
const passwords = PasswordGenerator({ numberOfPasswords: 5 });
// Results in an array of 5 random passwords
console.log(passwords);
Contributions to enhance @smakss/password-generator
are welcome. See CONTRIBUTING.md for guidelines.
Our commitment to providing a welcoming and inclusive environment is outlined in our Code of Conduct.