generate-8
v1.0.2
Published
Gen8 (generate-8) is an Open Source Nodejs Library for generating random data like sceret keys, passwords, OTP numbers, etc using cryptography.
Downloads
5
Maintainers
Readme
Gen8
Gen8 is an open-source Node.js library for generating random data securely using cryptography. It provides functions for generating secret keys, passwords, OTP (One-Time Password) numbers, and more.
Installation
You can install Gen8 via npm:
npm install gen8
import { OTP, generateSecretKey, generatePassword } from 'gen8';
// Generate Secret Key with Uppercase Letters and Split
const skey = generateSecretKey(32, {
uppercase: true,
lowercase: false,
split: {
split: true,
separator: '-',
splitLength: 4
}
});
console.log("Generated Secret Key:", skey);
// Generate Secret Key with Uppercase and Lowercase Letters, and Split
const key = generateSecretKey(
32,
{
uppercase: true, lowercase: true,
split: {
split: true,
separator: '-',
splitLength: 6
}
}
);
console.log("Generated Secret Key:", key);
// Generate OTP with Numbers and Uppercase Letters
const otp = OTP(
6,
{
numbers: true,
alphabets: true,
specialCharacters: false
},
{
uppercase: true,
lowercase: false
}
);
console.log("Generated OTP:", otp);
// Generate Password with Numbers, Alphabets, and Special Characters
const password = generatePassword(12,
{
numbers: true,
alphabets: true,
specialCharacters: true
}
);
console.log("Generated Password:", password);
Documentation:
generateSecretKey
generateSecretKey(length: number, options: object, writeToFile: boolean) => string
Generates a secret key of the specified length.
length
: Length of the secret key (default: 32
).options
: An object containing the following optional parameters:uppercase
: Include uppercase letters (default: true
).lowercase
: Include lowercase letters (default: false
).split
: An object with the following properties for splitting the key (default: { split: true, separator: '-', splitLength: 4 }
):split
: Boolean indicating whether to split the key.separator
: Separator for splitting the key.splitLength
: Length of each segment.writeToFile
: Boolean indicating whether to write the key to a file (default: false
). In case oftrue
, the key will be written to a file that you provide (default: .env
) in the current directory.
generatePassword
generatePassword(length: number, options: object) => string
Generates a password of the specified length.
length
: Length of the password (default: 12
).
options
: An object containing the following optional parameters:
numbers
: Include numbers (default: true
).
alphabets
: Include alphabetic characters (default: true
).
specialCharacters
: Include special characters (default: true
).
OTP
OTP(length: number, options: object, caseOptions: object) => string
Generates a One-Time Password (OTP) of the specified length.
length
: Length of the OTP (default: 6
).
options
: An object containing the following optional parameters:
numbers
: Include numbers (default: true
).
alphabets
: Include alphabetic characters (default: false
).
specialCharacters
: Include special characters (default: false
).
caseOptions
: An object containing the following optional parameters:
uppercase
: Convert the OTP to uppercase (default: false
).
lowercase
: Convert the OTP to lowercase (default: false
).
randomInt
randomInt(min: number, max: number) => number
Generates a random integer between min (inclusive) and max (inclusive).
min
: Minimum value for the random integer (inclusive).
max
: Maximum value for the random integer (inclusive).