導航:首頁 > 編程語言 > java隨機密碼

java隨機密碼

發布時間:2022-11-12 19:53:19

java 調第三方介面一般都要生成隨機字元串後一起加密,請問隨機字元串的作用是什麼

token俗稱令牌。一般用於身份驗證。使用MD5或者sha-256

㈡ Java中怎樣產生隨機數和隨機字母

java產生隨機數和隨機字母,使用madom類,示例如下:

packagecom.qiu.lin.he;

publicclassCeShi{

publicstaticvoidmain(String[]args){

intstr1=0;
for(inti=0;i<25;i++){//你想生成幾個字元的,就把4改成幾,如果改成1,那就生成一個隨機字母.
str1=(char)(Math.random()*26);
}
System.out.println("輸出隨機生成的字元串"+str1);

Stringstr="";
for(inti=0;i<25;i++){//你想生成幾個字元的,就把4改成幾,如果改成1,那就生成一個隨機字母.
str=str+(char)(Math.random()*26+'A');
}
System.out.println("輸出隨機生成的字元串"+str);
}
}

運行結果如下:

㈢ java 輸入一個數字顯示隨機密碼(密碼可以有數字和大小寫字母)例如我輸入4 隨機就是4個密碼!請大家幫助

import java.util.Random;
import java.util.Scanner;

public class Zhi {
public static void main(String agrs[]) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
StringBuffer sb = new StringBuffer();
for(int i=0; i<num; i++) {
int a = Math.abs((new Random()).nextInt(57));//產生0~57的隨機數
if(a<=9){//將0~9轉為char的0~9
sb.append((char)(a+48));
}
else if(a<33){//將10~33轉為char的A~Z
sb.append((char)(a+55));
}
else{//將33~57轉為char的a~z
sb.append((char)(a+63));
}
}
System.out.println(sb.toString());
}
}

㈣ java中如何編寫輸出一組由大寫和數字組成的6個隨機驗證碼,字母O和I不能輸出

importjava.util.Random;

publicclassTest{
publicstaticvoidmain(String[]args){
charc='i';
StringBuffersb=newStringBuffer();
for(inti=0;i<6;i++){
inta=Math.abs((newRandom()).nextInt(57));//產生0~57的隨機數
if(a<=9){//將0~9轉為char的0~9
sb.append((char)(a+48));
}elseif(a<33){//將10~33轉為char的A~Z
if((a+55)==79||(a+55)==73){
sb.append((char)(a+63));
}else{
sb.append((char)(a+55));
}
}else{//將33~57轉為char的a~z
sb.append((char)(a+63));
}
}
System.out.println("隨機生成的6位密碼為:"+sb.toString());
}
}

㈤ Java隨機生成指定要求的密碼串

public class PassWord {
private static final int Int_WORD = 1;
private static final int STRING_WORD = 2;
private static final int MIX_WORD = 3;

public static String getPassWord(int style, int length) {
if (style == Int_WORD) {
return getIntRandom(length);
} else if (style == STRING_WORD) {
return getCharRandom(length);
} else if (style == MIX_WORD) {
return getMixRandom(length);
}

return getMixRandom(length);
}

private static String getIntRandom(int length) {
int[] array=new int[length];
StringBuilder str = new StringBuilder();
for(int i = 0; i < length; i ++){
array[i] = (int)(Math.random()*10);
str.append(array[i]);
}
return str.toString();
}

private static String getCharRandom(int length) {
int[] array=new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
for(int i = 0; i < length; i ++){
while (true) {
array[i] = (int)(Math.random()*1000);
if ((array[i] > 64 && array[i] < 91) ||
(array[i] > 96 && array[i] < 123)) break;
}
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}

private static String getMixRandom(int length) {
int[] array=new int[length];
char[] chars = new char[length];
StringBuilder str = new StringBuilder();
int temp = 0;
for(int i = 0; i < length; i ++){
while (true) {
temp = (int)(Math.random()*1000);
if (temp < 128) break;
}
array[i] = temp;
chars[i] = (char) array[i];
str.append(chars[i]);
}
return str.toString();
}
}

㈥ 通過Java如何實現AES密碼演算法

1. AES加密字元串

public static byte[] encrypt(String content, String password) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");// 創建AES的Key生產者

kgen.init(128, new SecureRandom(password.getBytes()));// 利用用戶密碼作為隨機數初始化出
// 128位的key生產者
//加密沒關系,SecureRandom是生成安全隨機數序列,password.getBytes()是種子,只要種子相同,序列就一樣,所以解密只要有password就行

SecretKey secretKey = kgen.generateKey();// 根據用戶密碼,生成一個密鑰

byte[] enCodeFormat = secretKey.getEncoded();// 返回基本編碼格式的密鑰,如果此密鑰不支持編碼,則返回
// null。

SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");// 轉換為AES專用密鑰

Cipher cipher = Cipher.getInstance("AES");// 創建密碼器

byte[] byteContent = content.getBytes("utf-8");

cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化為加密模式的密碼器

byte[] result = cipher.doFinal(byteContent);// 加密

return result;

} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}
2. AES解密
public static byte[] decrypt(byte[] content, String password) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");// 創建AES的Key生產者
kgen.init(128, new SecureRandom(password.getBytes()));
SecretKey secretKey = kgen.generateKey();// 根據用戶密碼,生成一個密鑰
byte[] enCodeFormat = secretKey.getEncoded();// 返回基本編碼格式的密鑰
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");// 轉換為AES專用密鑰
Cipher cipher = Cipher.getInstance("AES");// 創建密碼器
cipher.init(Cipher.DECRYPT_MODE, key);// 初始化為解密模式的密碼器
byte[] result = cipher.doFinal(content);
return result; // 明文

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}

㈦ JAVA隨機產生密碼,要求一位數字一個字母,一共9位,求教!

public static void main(String[] args) {

Random r=new Random();
String code="";

for(int i=0;i<9;++i)
{
if(i%2==0) //偶數位生產隨機整數
{
code=code+r.nextInt(10);
}
else//奇數產生隨機字母包括大小寫
{
int temp=r.nextInt(52);
char x=(char)(temp<26?temp+97:(temp%26)+65);
code+=x;
}
}

System.out.println(code);
}

㈧ java輸入兩個數,生成所給位數的隨機密碼串(密碼包含大寫,小寫,數字),如輸入兩個數,

1輸入字元串;2對輸入的字元串遍歷,並分別統計個數;3遍歷結束後輸出。代碼:intmain(){chars[100];intd,x,s,q,i;gets(s);d=x=s=q=0;for(i=0;s[i];i++)if(s[i]>='A'&&s[i]='a'&&s[i]='0'&&s[i]<='9')s++;elseq++;printf("%d%d%d%d\n",d,x,s,q);}

㈨ 用JAVA語言生成隨機密碼串;

public static String createPassword(int type,int passwordLength){
String pd="";
int math=0;
for(int i=0;i<passwordLength;i++){
math=(int)(Math. random()*10);
pd +=math;
}

}

這個是純數字的。字母和特殊符號的那些你可以定義一個數組來拼

㈩ java RandomStringUtils隨機數生成

生成隨機數的那個類使用同一個對象即可

閱讀全文

與java隨機密碼相關的資料

熱點內容
銀河v10驅動重編譯 瀏覽:889
電腦上文件夾右擊就會崩潰 瀏覽:689
右美維持演算法 瀏覽:938
php基礎編程教程pdf 瀏覽:219
穿越之命令與征服將軍 瀏覽:351
android廣播重復 瀏覽:832
像阿里雲一樣的伺服器 瀏覽:318
水冷空調有壓縮機嗎 瀏覽:478
訪問日本伺服器可以做什麼 瀏覽:433
bytejava詳解 瀏覽:449
androidjava7 瀏覽:385
伺服器在山洞裡為什麼還有油 瀏覽:887
天天基金app在哪裡下載 瀏覽:975
伺服器軟路由怎麼做 瀏覽:293
冰箱壓縮機出口 瀏覽:229
OPT最佳頁面置換演算法 瀏覽:645
網盤忘記解壓碼怎麼辦 瀏覽:853
文件加密看不到裡面的內容 瀏覽:654
程序員腦子里都想什麼 瀏覽:434
oppp手機信任app在哪裡設置 瀏覽:189