![]() |
Zufallspasswort mit bestimmten Bedingungen generieren...
Hi,
wie kann ich ein Zufallspasswort mit folgenden Bedingungen generieren: 1. Mindestens ein Großbuchstabe 2. Mindestens ein Kleinbuchstabe 3. Mindestens ein Sonderzeichen 4. Mindestens eine Zahl Man soll nur die Länge übergeben können. |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Also an der Stelle würde ich die BruteForce-Methode anwenden.
Einfach ein zufälliges Passwort generieren (mit Random und Char) und hinterher alle Bedingungen nacheinander prüfen. Wenn eine der Bedingung nicht zutrifft: Nochmal generieren. |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Ich würde es ähnlich machen. Zuerst das Passwort generieren, und schauen, welche Bedingung schon erfüllt ist. Die, die nicht erfüllt sind, kannst du ja im Nachhinein erfüllen (Also z.B. ein Zeichen durch eine Zahl ersetzen ect)
Man liest sich, Stanlay :hi: |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Das hat aber wiederum den Nachteil das durch soetwas a) eine vorher zutreffende Bedingung wieder ungültig wird (es wird der einzige Kleinbuchstabe gegen eine Zahl getauscht) und es b) zum anderen dann nicht mehr so zufällig ist wie vorher, da ja das Ergebnis beeinflusst wird.
|
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Hallo,
ich weiß wie man zufällig ein Passwort generiert, aber wie kann ich die Bedingungen überprüfen? :gruebel: |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
naja. mit den üblichen verdächtigen. alle möglichen stringfunktionen, oder einfach den string zeichen für zeichen durchgehen.
|
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Zitat:
Man kann ja nach jeder Veränderung den Zufallsstring nochmal überprüfen und dann von vorne anfangen (Kann aber auch in ner Endlosschleife enden wenn die Max.-Länge auf z.B. 3 gesetzt wurde) zu b) Man kann doch die Zahlen und Zeichen mit denen ersetzt werden sollen auch per Zufall ermitteln |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Du erstellst jeweils ein Array mit allen Großbuchstaben, eines mit allen Kleinbuchstaben, eines mit allen Ziffern und eines mit den entsprechenden geforderten Sonderzeichen.
Dann läufst Du das passwort zeichen für Zeichen durch und prüfst für jedes ab, ob es auch in den Arrays enthalten ist. Wenn ja, so ist die Bedingung passend zu dem jeweiligen Array erfüllt. Wenn hinterher eine der Bedingungen noch nicht erfüllt ist, so fängst Du von vorne an. Etwas Pseudo-Code:
Code:
function pruefepasswd(passwd: string): boolean;
var gross, klein, zahl, sonder: boolean begin gross := false; klein := false; zahl := false; sonder := false; for i := 0 to Length(passwd) - 1 do begin gross := gross or passwd[i] in ARRAY_GROSSBUCHSTABEN; klein := klein or passwd[i] in ARRAY_KLEINBUCHSTABEN; zahl := zahl or passwd[i] in ARRAY_ZAHLEN; sonder := sonder or passwd[i] in ARRAY_SONDER; end; result := gross and klein and zahl and sonder; end; |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Zitat:
Zufällig ist das Ergebnis nur dann, wenn _alle_ Elemente gleich Zufällig sind. Daher ist ein 'nachher nochmal umwerfen' immer berechenbarer als echter Zufall. Klar geht das, aber es ist ein kleines bisschen unsicherer als wenn man den kompletten String neu zusammensetzen lässt. |
Re: Zufallspasswort mit bestimmten Bedingungen generieren...
Okay, ich habs. Danke für die Hilfe :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz