1.0.2 • Published 2 months ago

generate-8 v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 months ago

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 of true, 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).

Author