Можете проћи кроз генерише једнократну лозинку или јединствени идентификациони УРЛ чланак пре овога ради бољег разумевања како да генеришете лозинке и ОТП у Јави.
Да ли сте икада кликнули на „Заборављена лозинка“ и одмах примили нову лозинку или ОТП на своју е-пошту или телефон? Овај процес користи динамички генерисане лозинке и једнократне лозинке (ОТП) за побољшање безбедности. У овом чланку ћете научити како да генеришете сигурне лозинке и ОТП-ове у Јави користећи једноставне технике.
карактер у низ јава
Шта су лозинке и ОТП-ови?
Лозинка: Статички тајни низ који се користи за верификацију идентитета током пријављивања.
ОТП (једнократна лозинка): привремени насумично генерисани код који се користи једном за верификацију (често у 2ФА).
Метод 1:
Јава програм који објашњава генерисање лозинке
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; } }
Напомена : Лозинка коју генеришемо мењаће се сваки пут. Пошто смо користили метод рандом() за генерисање лозинке.
Излаз :
Generating password using random() :
Your new password is : KHeCZBTM;-
Јава програм који објашњава генерисање ОТП (једнократне лозинке)
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)); } }
Напомена : ОТП који генеришемо мењаће се сваки пут. Као што смо користили метод рандом() да генеришемо ОТП.
Излаз :
јава цхар у стринг
Generating OTP using random() :
You OTP is : 5291
2. метод:
Јава програм који објашњава генерисање лозинке
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
Напомена : Лозинка коју генеришемо мењаће се сваки пут. Пошто смо користили метод рандом() за генерисање лозинке.
Излаз :
Generating password using Math.random() and ascii code:
Your new password is : KHe%ZBT$
асции табела кодова:

Јава програм који објашњава генерисање ОТП (једнократне лозинке)
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
Напомена : ОТП који генеришемо мењаће се сваки пут. Као што смо користили функцију Матх.рандом() да генеришемо ОТП.
Излаз :
Generating OTP using random() :
You OTP is : 5291
Креирај квиз