توليد كلمة المرور و OTP في Java
في كثير من الأحيان ننسى كلمات المرور الخاصة بنا
ونختار خيار نسيت كلمة المرور وفي أي وقت من الأوقات نحصل على كلمة مرور جديدة على
معرف البريد الإلكتروني المسجل لدينا أو رقم الهاتف. لتسجيل الدخول إلى حسابنا.
وفي كل مرة نحصل على كلمة مرور مختلفة.
في بعض الأحيان نقوم بالوصول إلى حساباتنا المصرفية
أثناء التسوق من متجر عبر الإنترنت أو العديد من الطرق الأخرى ، من أجل التحقق من
انتقالنا من الحساب المصرفي ، يرسلون إلينا OTP (كلمة مرور لمرة واحدة) على رقم الهاتف المسجل لدينا. أو معرف
البريد الإلكتروني الخاص بنا ، في أي وقت من الأوقات.
يشرح الكود التالي كيفية إنشاء كلمات المرور وكلمة
المرور لمرة واحدة في أي وقت من الأوقات وما هو الرمز الذي يمكننا استخدامه إذا
احتجنا إلى القيام بذلك.
طريقة 1:
برنامج جافا يشرح توليد كلمة المرور
// 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 () لإنشاء كلمة المرور.
Output :
Generating password using random() :
Your new password is : KHeCZBTM;-
Java program explaining the
generation of OTP(One Time Password)
// 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
() لإنشاء كلمة المرور لمرة واحدة.
Output :
Generating OTP using random() :
You OTP is : 5291
طريقة 2:
Java program explaining the
generation of Password
// 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
ملاحظة: كلمة المرور التي ننشئها ستتغير
في كل مرة. كما استخدمنا طريقة Random () لإنشاء كلمة المرور.
Output :
Generating password using Math.random() and ascii code:
Your new password is : KHe%ZBT$
Java program
explaining the generation of OTP(One Time Password)
// 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 () لإنشاء كلمة المرور لمرة واحدة.
Output :
Generating OTP using random() :
You OTP is : 5291