Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Localhost

Ehemaliger Supporter

  • »Localhost« ist der Autor dieses Themas

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

1

Freitag, 16. März 2012, 14:53

Zufällige Passwörter generieren

Hi,

hatte mir gerade mal ein Script geschrieben, welches mir 8-stellige, zufällige Passwörter ausgibt... Vielleicht kann's jemand gebrauchen:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public static String generatePassword(int length) {
		Collection<Character> characters = new ArrayList<Character>();
		StringBuilder chars = new StringBuilder();
		StringBuilder password = new StringBuilder();
		
		for(int i = 48; i <= 57; i++) { // Zahlen
			characters.add((char)i);
		}
		
		for(int i = 65; i <= 90; i++) { //Großbuchstaben
			characters.add((char)i);
		}	
		
		for(int i = 97; i <= 122; i++) { //Kleinbuchstaben
			characters.add((char)i);
		}	
		
		for (Character c : characters) {
			chars.append(c);
		}
		
		char [] pwChars = chars.toString().toCharArray();
		int characterAmount = characters.size();
		
		for (int i = 1 ; i <= length; i++){
			password.append(pwChars[(int)(Math.random()* ((characterAmount - 1) + 1) + 1) - 1]);
		}
		
		return password.toString();
	}


Localhost
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Moritz, Mentos

2

Freitag, 16. März 2012, 19:26

Finde ich schonmal sehr gut.
Vieleicht noch als kleinen "Schönheitstipp":
Du schreibst ja alle Chars in eine ArrayList. Mit .length (oder .size?) kannst du die aktuellen Anzahlen abrufen.
Das heißt, du müsstest die nicht erst in einen String schreiben und dann in ein Char-Array.
Aber nur als kleinen Hinweis - deine Methode klappt schließlich auch :)

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Spectra

3

Samstag, 21. April 2012, 03:16

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package kreverse.kremu.tools;

/**
 *
 * @author Flav
 */
public class Password {
	public static String generate(int length) {
		StringBuilder password = new StringBuilder();

		for (int i = 0; i < length; i++) {
			switch (rand(0, 2)) {
				case 0: // Zahlen
					password.append(rand(0, 9));
					break;
				case 1: // Großbuchstaben
					password.append((char) rand(65, 90));
					break;
				case 2: // Kleinbuchstaben
					password.append((char) rand(97, 122));
					break;
			}
		}

		return password.toString();
	}

	private static int rand(int min, int max) {
		return (int) (Math.random() * (max - min + 1)) + min;
	}
}


So hätte ich es gemacht.
Tschüß.