UNPKG

random-web-token

Version:

Generate customizable random strings (tokens) using secure charsets with validation – zero dependencies.

21 lines (20 loc) 619 B
const crypto = require("crypto"); module.exports = (characters, length) => { return new Promise((resolve, reject) => { try { let newToken = []; const setLength = characters.length; if (setLength === 0) { return reject(new Error("Character set cannot be empty.")); } for (let i = 0; i < length; i++) { let randomNumber = crypto.randomInt(setLength); let tokenChararacter = characters[randomNumber]; newToken.push(tokenChararacter); } resolve(newToken.join("")); } catch (error) { reject(error); } }); };