2013-10-06 43 views
-6

我在java中創建了一個隨機密碼生成器,並且需要一些幫助,以瞭解如何在程序中生成隨機char值。有任何想法嗎?我正在使用菜單系統來顯示不同類型的密碼,以生成小寫,大寫等。任何想法如何在Java中生成隨機的Char值?我正在創建一個隨機密碼生成器

任何建議都會有所幫助。

謝謝!

+0

http://www.cs.geneseo.edu/~baldwin/reference/random.html,http://stackoverflow.com/questions/ 363681 /使用java&lookup生成隨機數字-a範圍import java.util.Random; – Coffee

+2

此類問題的解決方案已在其他地方顯示,請求之前搜索某些內容。如果找不到,請嘗試一下。如果你不能得到它的工作,然後問。 – sage88

+0

爲什麼這個問題如此強烈地被投下來?還有其他重複,沒有這種懲罰?我認爲有時人們在投票時會感到精神失常。特別是新來者的投票問題禁止他們,並且不會教任何東西。請明智地投票。 –

回答

2
Random r = new Random(); 

String alphabet = "123xyz"; 

// Prints 50 random characters from alphabet 
for (int i = 0; i < 50; i++) 
{ 
    System.out.println(alphabet.charAt(r.nextInt(alphabet.length()))); 
} 

而不是打印的字符的,將它們添加到StringBuilder,你有你的隨機密碼。

(Source)

+5

對於任何安全相關的東西,如密碼,應該使用SecureRandom。 – TwoThe

+1

@Two同意。但我懷疑他的作業會被黑客攻擊。 – GGrec

-1

這裏的另一種解決方案:

public int genRandomNumber(int min, int max) 
    { 
     return new Random().nextInt((max - min) + 1) + min; 
    } 

    public String genRandomPassword(int length) 
    { 
     String pass = ""; 

     for (int i = 0; i < length; i++) 
     { 
      pass += this.genRandomNumber(0x61, 0x7A);//min and max are ASCII char values. 
     } 

     return pass; 
    }