logo

Générer un mot de passe et un OTP en Java

Vous pouvez passer par le générer un mot de passe à usage unique ou une URL d'identification unique article précédent pour une meilleure compréhension de la façon de générer des mots de passe et OTP en Java. Générer un mot de passe et un OTP en Java' src='//techcodeview.com/img/java/97/generating-password-and-otp-in-java.webp' title= 

Avez-vous déjà cliqué sur « Mot de passe oublié » et reçu instantanément un nouveau mot de passe ou un OTP sur votre e-mail ou votre téléphone ? Ce processus utilise des mots de passe générés dynamiquement et des mots de passe à usage unique (OTP) pour améliorer la sécurité. Dans cet article, vous apprendrez comment générer des mots de passe sécurisés et des OTP en Java à l'aide de techniques simples.

Que sont les mots de passe et les OTP ?

Mot de passe : chaîne secrète statique utilisée pour vérifier l'identité lors de la connexion.



OTP (One-Time Password) : Un code temporaire généré aléatoirement utilisé une fois pour la vérification (souvent en 2FA).

java factoriel

Méthode 1 :

Programme Java expliquant la génération du mot de passe  

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;  } } 

Note : Le mot de passe que nous générons changera à chaque fois. Comme nous avons utilisé la méthode random() pour générer le mot de passe. 

connexion java mysql

Sortir : 

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

Programme Java expliquant la génération d'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));  } } 

Note : L'OTP que nous générons changera à chaque fois. Comme nous avons utilisé la méthode random() pour générer l’OTP. 

Sortir : 

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

Méthode 2 :

Programme Java expliquant la génération du mot de passe  

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   

Note : Le mot de passe que nous générons changera à chaque fois. Comme nous avons utilisé la méthode random() pour générer le mot de passe. 

Sortir : 

chiffres pour l'alphabet
Generating password using Math.random() and ascii code:   
Your new password is : KHe%ZBT$

table de codes ascii :

Générer un mot de passe et un OTP en Java

Programme Java expliquant la génération d'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 

Note : L'OTP que nous générons changera à chaque fois. Comme nous avons utilisé la fonction Math.random() pour générer l’OTP. 

Sortir : 

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

Créer un quiz