Generación de contraseña y OTP en Java

Puede leer el artículo Generar una contraseña de un solo uso o URL de identificación única antes de esto para una mejor comprensión.Generating Password and OTP in Java 

Muchas veces olvidamos nuestras contraseñas y optamos por la opción Olvidar contraseña y en poco tiempo obtenemos una nueva contraseña en nuestro ID de correo electrónico registrado o número de teléfono. para iniciar sesión en nuestra cuenta. Y cada vez que obtenemos una contraseña diferente. A veces accedemos a nuestras cuentas bancarias mientras compramos en una tienda en línea o de muchas otras maneras, para verificar nuestras transacciones desde la cuenta bancaria, nos envían OTP (contraseña de un solo uso) a nuestro número de teléfono registrado. o nuestra identificación de correo electrónico, en muy poco tiempo. El siguiente código explica cómo generar dichas contraseñas y OTP en muy poco tiempo y qué código podemos usar en caso de que necesitemos hacerlo.

Método 1:

Programa Java explicando la generación de Contraseña 

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

Nota: La contraseña que estamos generando cambiará cada vez. Como hemos usado el método random() para generar la contraseña. 

Producción : 

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

Programa Java que explica la generación de 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));
    }
}

Nota: La OTP que estamos generando cambiará cada vez. Como hemos utilizado el método random() para generar la OTP. 

Producción : 

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

Método 2:

Programa Java explicando la generación de Contraseña 

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(10,15))+Math.pow(10,15));
    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

Nota: La contraseña que estamos generando cambiará cada vez. Como hemos usado el método random() para generar la contraseña. 

Producción : 

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

tabla de codigos ascii:

Programa Java que explica la generación de 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

Nota: La OTP que estamos generando cambiará cada vez. Como hemos usado la función Math.random() para generar la OTP. 

Producción : 

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

Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *