Рубрики

Генерация пароля и OTP в Java

Вы можете прочитать статью « Создать одноразовый пароль» или «Уникальный идентификатор» перед этим, чтобы лучше понять.

Много раз мы забываем наши пароли и выбираем опцию Забыли пароль, и в течение короткого времени мы получаем новый пароль по нашему зарегистрированному идентификатору электронной почты или номеру телефона. войти в наш аккаунт. И каждый раз мы получаем новый пароль.
Иногда мы получаем доступ к нашим банковским счетам при совершении покупок из интернет-магазина или многими другими способами, чтобы подтвердить наш переход с банковского счета, они отправляют нам OTP (одноразовый пароль) на наш зарегистрированный номер телефона. или наш электронный адрес, в кратчайшие сроки.

Следующий код объясняет, как сгенерировать такие Пароли и OTP в кратчайшие сроки и какой код мы можем использовать, если в случае необходимости это нужно сделать.

Способ 1:

Java-программа, объясняющая генерацию пароля

// Java-код, чтобы объяснить, как генерировать случайные
// пароль

  
// Здесь мы используем метод random ()
// класс на Java

import java.util.*;

  

public class NewClass

{

    public static void main(String[] args)

    {

        // Длина вашего пароля, как я выбрал

        // здесь будет 8

        int length = 10;

        System.out.println(geek_Password(length));

    }

  

    // Это наш метод генерации пароля

    // Здесь мы должны использовать статические, чтобы мы не

    // сделать для него любой объект

    static char[] geek_Password(int len)

    {

        System.out.println("Generating password using random() : ");

        System.out.print("Your new password is : ");

  

        // Надежный пароль имеет Cap_chars, Lower_chars,

        // числовое значение и символы. Таким образом, мы используем все

        // их, чтобы сгенерировать наш пароль

        String Capital_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        String Small_chars = "abcdefghijklmnopqrstuvwxyz";

        String numbers = "0123456789";

                String symbols = "!@#$%^&*_=+-/.?<>)";

  

  

        String values = Capital_chars + Small_chars +

                        numbers + symbols;

  

        // Использование случайного метода

        Random rndm_method = new Random();

  

        char[] password = new char[len];

  

        for (int i = 0; i < len; i++)

        {

            // Использование метода charAt (): для получения значения символа

            // Использование nextInt () при сканировании значения как int

            password[i] =

              values.charAt(rndm_method.nextInt(values.length()));

  

        }

        return password;

    }

}

Примечание. Генерируемый нами пароль будет меняться каждый раз. Так как мы использовали метод random () для генерации пароля.
Выход :

Generating password using random() : 
Your new password is : KHeCZBTM;-

Java-программа, объясняющая генерацию OTP (одноразовый пароль)

// Java-код, объясняющий, как генерировать OTP

  
// Здесь мы используем метод random ()
// класс на Java

import java.util.*;

  

public class NewClass

{

    static char[] OTP(int len)

    {

        System.out.println("Generating OTP using random() : ");

        System.out.print("You OTP is : ");

  

        // Использование числовых значений

        String numbers = "0123456789";

  

        // Использование случайного метода

        Random rndm_method = new Random();

  

        char[] otp = new char[len];

  

        for (int i = 0; i < len; i++)

        {

            // Использование метода charAt (): для получения значения символа

            // Использование nextInt () при сканировании значения как int

            otp[i] =

             numbers.charAt(rndm_method.nextInt(numbers.length()));

        }

        return otp;

    }

    public static void main(String[] args)

    {

        int length = 4;

        System.out.println(OTP(length));

    }

}

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

Generating OTP using random() : 
You OTP is : 5291

Способ 2:

Java-программа, объясняющая генерацию пароля

// Java-код, чтобы объяснить, как генерировать случайные
// пароль

class uniquePassword

{

public static long Code() // этот код возвращает уникальный 16-значный код

// создаем 16-значный код с помощью функции Math.random

    long code   =(long)((Math.random()*9*Math.pow(10,15))+Math.pow(10,15));

    return code; // возвращаем код

}

    // метод генерации пароля

    // путем преобразования каждых двух цифр в качестве значения символа ascii

public static void main(String args[]) 

{

long code=Code();// вызов функции

String unique_password="";

for (long i=code;i!=0;i/=100)// цикл, извлекающий 2 цифры из кода

    {

        long digit=i%100;// извлекаем две цифры

        if (digit<=90)

        digit=digit+32

        // преобразование этих двух цифр (значение ascii) в его символьное значение

        char ch=(char) digit;

        // добавляем 32, чтобы наше наименьшее значение было допустимым символом

        unique_password=ch+unique_password;// добавление символа в строку

    }

    System.out.println("unique password ="+unique_password);

    }

}
// Здесь мы используем метод random ()
// класс на Java

Примечание. Генерируемый нами пароль будет меняться каждый раз. Так как мы использовали метод random () для генерации пароля.
Выход :

Generating password using Math.random() and ascii code: 
Your new password is : KHe%ZBT$

таблица кодов ascii:

Java-программа, объясняющая генерацию OTP (одноразовый пароль)

// Java-код, объясняющий, как генерировать OTP

public class GenerateOTP {

// объявляем тип возвращаемого значения String
// который при вызове предоставляет otp

    public static String generateOTP() 

    // int randomPin, объявленный для хранения OTP

        // так как мы используем Math.random (), следовательно, мы должны набрать cast

        // потому что Math.random () возвращает десятичное значение

        int randomPin   =(int) (Math.random()*9000)+1000;

        String otp  = String.valueOf(randomPin);

        return otp; // возвращаем значение otp

    }

            public static void main(String args[])// метод для вызова и печати OTP

    {

        String otpSting  =generateOTP();// вызов функции

        System.out.println("OTP : "+otpSting);

    }

}// Здесь мы используем функцию Math.random ().

// класс на Java

Замечания :
OTP, который мы генерируем, будет меняться каждый раз. Как мы использовали функцию Math.random () для генерации OTP.
Выход :

Generating OTP using random() : 
You OTP is : 5291

Эта статья предоставлена Мохит Гупта 🙂 . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Генерация пароля и OTP в Java

0.00 (0%) 0 votes