Генерируйте OTP-коды в JavaScript: Math.random(), Crypto.getRandomValues() и Chance.js.

Чтобы сгенерировать коды OTP (одноразовый пароль) в JavaScript, вы можете использовать несколько методов. Вот несколько популярных подходов:

  1. Метод Math.random():

    function generateOTP(length) {
    const digits = '0123456789';
    let otp = '';
    for (let i = 0; i < length; i++) {
    otp += digits[Math.floor(Math.random() * 10)];
    }
    return otp;
    }
    const otpCode = generateOTP(6); // Generates a 6-digit OTP code
    console.log(otpCode);
  2. Метод Crypto.getRandomValues():

    function generateOTP(length) {
    const digits = '0123456789';
    const buffer = new Uint8Array(length);
    window.crypto.getRandomValues(buffer);
    let otp = '';
    for (let i = 0; i < length; i++) {
    otp += digits[buffer[i] % 10];
    }
    return otp;
    }
    const otpCode = generateOTP(6); // Generates a 6-digit OTP code
    console.log(otpCode);
  3. Библиотека Chance.js:
    Chance.js – популярная библиотека для генерации случайных значений, включая OTP-коды. Вы можете включить библиотеку в свой проект и использовать ее следующим образом:

    const chance = require('chance');
    const generator = new chance();
    const otpCode = generator.integer({ min: 100000, max: 999999 }); // Generates a 6-digit OTP code
    console.log(otpCode);