n-digit-token
Version:
Cryptographically secure pseudo-random token of n digits
20 lines (19 loc) • 717 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateSecureBytes = void 0;
const crypto_1 = require("crypto");
/**
* Generate secure random bytes of given length.
* @param {number} length
* @return {Buffer} bytes in buffer
*/
const generateSecureBytesBuffer = (length, options) => options && options.customByteStream
? options.customByteStream(length)
: (0, crypto_1.randomBytes)(length);
/**
* Generate secure random bytes of given length.
* @param {number} length
* @return {string} bytes in hex
*/
const generateSecureBytes = (length, options) => generateSecureBytesBuffer(length, options).toString('hex');
exports.generateSecureBytes = generateSecureBytes;