logo

Генерація пароля та одноразового пароля в Java

Ви можете пройти через створити одноразовий пароль або унікальну ідентифікаційну URL-адресу статтю перед цією для кращого розуміння того, як генерувати паролі та OTP у Java. Генерація пароля та одноразового пароля в Java' src='//techcodeview.com/img/java/97/generating-password-and-otp-in-java.webp' title= 

Ви коли-небудь натискали «Забули пароль» і миттєво отримували новий пароль або OTP на свою електронну пошту чи телефон? Цей процес використовує динамічно згенеровані паролі та одноразові паролі (OTP) для підвищення безпеки. У цій статті ви дізнаєтеся, як генерувати безпечні паролі та одноразові паролі в Java за допомогою простих прийомів.

Що таке паролі та OTP?

Пароль: статичний секретний рядок, який використовується для підтвердження особи під час входу.



OTP (одноразовий пароль): тимчасовий випадково згенерований код, який використовується один раз для перевірки (часто в 2FA).

Мультиплексор 2 до 1

Спосіб 1:

Програма Java, що пояснює генерацію пароля  

перетворити str на int
Java
// Java code to explain how to generate random // password // Here we are using random() method of util // class in Java import java.util.*; public class NewClass {  public static void main(String[] args)  {  // Length of your password as I have choose  // here to be 8  int length = 10;  System.out.println(geek_Password(length));  }  // This our Password generating method  // We have use static here so that we not to  // make any object for it  static char[] geek_Password(int len)  {  System.out.println("Generating password using random() : ");  System.out.print("Your new password is : ");  // A strong password has Cap_chars Lower_chars  // numeric value and symbols. So we are using all of  // them to generate our password  String Capital_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";  String Small_chars = "abcdefghijklmnopqrstuvwxyz";  String numbers = "0123456789";  String symbols = "!@#$%^&*_=+-/.?<>)";  String values = Capital_chars + Small_chars +  numbers + symbols;  // Using random method  Random rndm_method = new Random();  char[] password = new char[len];  for (int i = 0; i < len; i++)  {  // Use of charAt() method : to get character value  // Use of nextInt() as it is scanning the value as int  password[i] =  values.charAt(rndm_method.nextInt(values.length()));  }  return password;  } } 

Примітка: Пароль, який ми генеруємо, щоразу змінюватиметься. Оскільки ми використовували метод random() для генерації пароля. 

Вихід: 

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

Програма Java, що пояснює генерацію OTP (One Time Password)

Java
// Java code to explain how to generate OTP // Here we are using random() method of util // class in 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 : ");  // Using numeric values  String numbers = "0123456789";  // Using random method  Random rndm_method = new Random();  char[] otp = new char[len];  for (int i = 0; i < len; i++)  {  // Use of charAt() method : to get character value  // Use of nextInt() as it is scanning the value as 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
// Java code to explain how to generate random // password class uniquePassword { public static long Code() //this code returns the unique 16 digit code  { //creating a 16 digit code using Math.random function  long code =(long)((Math.random()*9*Math.pow(1015))+Math.pow(1015));  return code; //returning the code }  //method to generate the password  //by converting every two digits as an ascii value of a character public static void main(String args[])  { long code=Code();//function calling String unique_password=""; for (long i=code;i!=0;i/=100)//a loop extracting 2 digits from the code   {  long digit=i%100;//extracting two digits  if (digit<=90)  digit=digit+32;   //converting those two digits(ascii value) to its character value  char ch=(char) digit;  // adding 32 so that our least value be a valid character   unique_password=ch+unique_password;//adding the character to the string  }  System.out.println("unique password ="+unique_password);  } } // Here we are using random() method of util // class in Java   

Примітка: Пароль, який ми генеруємо, щоразу змінюватиметься. Оскільки ми використовували метод random() для генерації пароля. 

if else if else java

Вихід: 

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

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

Генерація пароля та одноразового пароля в Java

Програма Java, що пояснює генерацію OTP (One Time Password)

Java
// Java code to explain how to generate OTP public class GenerateOTP { //declaring a of return type String //which on calling provides the otp  public static String generateOTP()   { //int randomPin declared to store the otp  //since we using Math.random() hence we have to type cast it int  //because Math.random() returns decimal value  int randomPin =(int) (Math.random()*9000)+1000;  String otp = String.valueOf(randomPin);  return otp; //returning value of otp  }  public static void main(String args[])//method to call and print otp  {  String otpSting =generateOTP();//function calling  System.out.println("OTP : "+otpSting);  } }// Here we are using Math.random() function. // class in Java 

Примітка: OTP, який ми генеруємо, щоразу змінюватиметься. Оскільки ми використовували функцію Math.random() для створення OTP. 

"алгоритм банкіра"

Вихід: 

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

Створіть вікторину