Entwickler-Ecke
C# - Die Sprache - primitiver Passwortgenerator
Günes - Sa 17.05.08 23:42
Titel: primitiver Passwortgenerator
Hallo!
Habe ein kleines Problem bei meinem Generator, besser gesagt bei den Schleifen!
Habe wiedermal eine Aufgabenstellung von meinem Lehrer bekommen.. und versuchte die jetzt mal zu lösen, komme aber nicht ganz weiter!
C#-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: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| string Anzahl; int iAnzahl; Anzahl = textBox1.Text; int.TryParse(Anzahl, out iAnzahl);
string stellen; int istellen; stellen=textBox2.Text; int.TryParse(stellen, out istellen); int izufall = 0; int maxvalue = 120; string hallo = "";
for (int ii = 1; ii <= iAnzahl; ii++) { for (int ij = 1; ij <= istellen; ij++) {
if (hallo.Length != istellen) { Random zufall = new Random(); izufall = zufall.Next(97, maxvalue); char czeichen = (char)(izufall); Convert.ToString(czeichen); hallo = hallo + czeichen; } else { break; }
} listBox1.Items.Add(hallo); |
Kann mir bitte jemand klarmachen wie ich meine Schleifen so verändern kann,
sodass er mir mehrere Passwörter erstellt, und nicht beim break immer aufhört?
Gäbe es auch eine schönere Variante als die mit dem break?
Hoffe ihr könnt mir helfen!
mfg Günes
Günes - So 18.05.08 00:01
bin schon auf eine lösung gekommen
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| for (int ii = 1; ii <= iAnzahl; ii++) { hallo = ""; for (int ij = 1; ij <= istellen; ij++) {
Random zufall = new Random(); izufall = zufall.Next(97, maxvalue); char czeichen = (char)(izufall); Convert.ToString(czeichen); hallo = hallo + czeichen; } listBox1.Items.Add(hallo); } |
gibt nur ein problem.. mit breakpoint habe ich immer verschiedene buchstaben..
ohne breakpoint jedoch zeigt er mir immer die selben an bei den erstellen passwörtern?
Christian S. - So 18.05.08 00:22
Hallo!
Du musst den Zufallsgenerator außerhalb der Schleife nur einmal erstellen. Ansonsten wird er in jedem Durchlauf neu initialisiert und liefert (da zwischen den Initialisierungen praktisch keine Zeit vergeht) immer denselben Wert. Rufe also in der Schleife nur "Next" auf.
Grüße
Christian
Günes - So 18.05.08 00:27
danke funktioniert jetzt!
habe mich ganze zeit nur gewundert weil immer das selbe kam,
und wenn ich einen breakpoint am anfang der ersten schleife gesetzt habe..
beim durchlauf immer ein andrer buchstabe kam..
werde demnächst weiter posten weil ich das programm erweitern muss
bis dahin..
LG Günes
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!