This is an OTP generator library which helps make generation of string numbers or mixture of both for creating OTP and random ids. can be used for generating random userId and strong passwords for jwts, sessions and dummy password for dummy database users.
To install: Run run npm install --save nodeotp-generator after which the package is installed and saved.
To Use:
-
first start by importing the random generator:
const {RandomGenerator} = require("nodeotp-generator")
-
Then create an instance of the class:
const random = new RandomGenerator()
After which you call the generateRandom method:
const generated number = random.generateRandom(option)
- type: the type of random values you hope to generate consists mainly of three types that is:
- Numerical:this generates only number values
- Alphabetical: this generates only text or string values
- Alphanumerical: this generates a mixture both text and number values.
- length: this is the length of the random value you want to generate there is no limit to the length but 8 is the most recommeded value.
After which you call the generateRandom method:
const generated number = random.generateRandomPassword(option)
- includeSpecialChar: if the password generated should contain special characters:
- true: if it must include a special character
- false| null : if it must not contain a special character
After which you call the generateRandom method:
const generated number = random.generateRandomUid()
This returns the generated user id.
This encrypts sensitive details such as emails phone numbers or chats using ceaser cipher encryption:
const generated number = random.ceaserEncryption(text,shift)
suggested is one to three until the algorithm is perfected. this is for basic encryption.
the text is the number to be encrypted whereas the shift is the shift number which is an integer;
This returns the generated user id.
const generated number = random.ceaserDecryption(text,shift)
the text should be the encrypted value stored somewhere and the shift is the shift number used to encrypt it.
You are free to add new methods and contribution to this project.
ISC licensed.