Вот несколько способов создания случайного OTP (одноразового пароля) в Node.js:
Метод 1: использование Math.random()
function generateOTP(length) {
let otp = '';
const characters = '0123456789';
const charactersLength = characters.length;
for (let i = 0; i < length; i++) {
otp += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return otp;
}
// Usage
const otp = generateOTP(6); // Generates a 6-digit OTP
console.log(otp);
Метод 2. Использование криптомодуля
const crypto = require('crypto');
function generateOTP(length) {
const buffer = crypto.randomBytes(length);
let otp = '';
for (let i = 0; i < buffer.length; i++) {
otp += buffer[i].toString().padStart(3, '0').slice(0, 1);
}
return otp;
}
// Usage
const otp = generateOTP(6); // Generates a 6-digit OTP
console.log(otp);
Метод 3. Использование модуля random-int (требуется установка)
const randomInt = require('random-int');
function generateOTP(length) {
let otp = '';
for (let i = 0; i < length; i++) {
otp += randomInt(0, 9);
}
return otp;
}
// Usage
const otp = generateOTP(6); // Generates a 6-digit OTP
console.log(otp);