Java'da Şifre ve OTP Oluşturma

Java'da Şifre ve OTP Oluşturma

içinden geçebilirsiniz Java'da şifrelerin ve OTP'nin nasıl oluşturulacağını daha iyi anlamak için bundan önceki makaleye bakın. Java  

Hiç 'Şifremi Unuttum' seçeneğine tıklayıp e-postanıza veya telefonunuza anında yeni bir şifre veya OTP aldınız mı? Bu işlem, güvenliği artırmak için dinamik olarak oluşturulan parolaları ve tek kullanımlık parolaları (OTP'ler) kullanır. Bu makalede, Java'da basit teknikler kullanarak güvenli şifrelerin ve OTP'lerin nasıl oluşturulacağını öğreneceksiniz.

Şifreler ve OTP'ler nedir?

Şifre: Oturum açma sırasında kimliği doğrulamak için kullanılan statik bir gizli dize.

OTP (Tek Kullanımlık Şifre): Doğrulama için bir kez kullanılan (genellikle 2FA'da) geçici, rastgele oluşturulmuş bir kod.

Yöntem 1:

Parolanın oluşturulmasını açıklayan Java programı  

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  (  &  quot  ;  Generating     password     using     random  ()     :     &  quot  ;);      System  .  out  .  print  (  &  quot  ;  Your     new     password     is     :     &  quot  ;);      // 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     =     &  quot  ;  ABCDEFGHIJKLMNOPQRSTUVWXYZ  &  quot  ;;      String     Small_chars     =     &  quot  ;  abcdefghijklmnopqrstuvwxyz  &  quot  ;;      String     numbers     =     &  quot  ;  01234567  89  &  quot  ;;      String     symbols     =     &  quot  ;  !  @#  $  %^&  amp  ;  *  _  =+-/  .  ?&  lt  ;  &  gt  ;)  &  quot  ;;      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     &  lt  ;     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  ;      }   }   

Not : Oluşturduğumuz şifre her seferinde değişecektir. Şifreyi oluşturmak için random() yöntemini kullandık. 

Çıkış: 

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

OTP (Tek Kullanımlık Şifre) oluşturulmasını açıklayan Java programı

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  (  &  quot  ;  Generating     OTP     using     random  ()     :     &  quot  ;);      System  .  out  .  print  (  &  quot  ;  You     OTP     is     :     &  quot  ;);      // Using numeric values      String     numbers     =     &  quot  ;  01234567  89  &  quot  ;;      // Using random method      Random     rndm_method     =     new     Random  ();      char  []     otp     =     new     char  [  len  ]  ;      for     (  int     i     =     0  ;     i     &  lt  ;     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  ));      }   }   

Not : Ürettiğimiz OTP her zaman değişecek. OTP'yi oluşturmak için random() yöntemini kullandık. 

Çıkış: 

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

Yöntem 2:

Parolanın oluşturulmasını açıklayan Java programı  

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  =&  quot  ;  &  quot  ;;   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  &  lt  ;  =  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  (  &  quot  ;  unique     password     =&  quot  ;  +  unique_password  );      }   }   // Here we are using random() method of util   // class in Java       

Not : Oluşturduğumuz şifre her seferinde değişecektir. Şifreyi oluşturmak için random() yöntemini kullandık. 

Çıkış: 

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

ascii kod tablosu:

Java

OTP (Tek Kullanımlık Şifre) oluşturulmasını açıklayan Java programı

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  (  &  quot  ;  OTP     :     &  quot  ;  +  otpSting  );      }   }  // Here we are using Math.random() function.   // class in Java   

Not : Ürettiğimiz OTP her zaman değişecek. OTP'yi oluşturmak için Math.random() işlevini kullandık. 

Çıkış : 

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

Test Oluştur