![]() |
Mein erster Passwort Generator [Delphi]
Liste der Anhänge anzeigen (Anzahl: 2)
Wie im Titel schon steht: Mein erster Passwort Generator
geschrieben in Delphi. Zum Programm: Man kann zwischen einem 6stelligen bis zu einem 25stelligen Password auswählen. Es gibt 8 verschiedene Optionen, die die stärke des Passworts beeinflussen. - Pw aus nur kleinen Buchstaben - Pw aus nur großen Buchstaben - Pw aus großen und kleinen Buchstaben - Pw aus Zahlen und nur kleinen Buchstaben - Pw aus Zahlen und nur großen Buchstaben - Pw aus Zahlen und großen und kleinen Buchstaben - Pw aus nur Zahlen - Easy to remember Funktion Die 'Easy to remember' Funktion generiert ein Passwort welches man einfach aussprechen kann und somit sich leichter merken kann. Dies wurde dadurch erreicht das sich Konsonante und Vokale immer abwechseln. Diese Funktion wird nicht unterstütz wenn der Punkt: Pw aus nur Zahlen ausgewählt wurde. (logisch oder? :P ) Den Code kann man sich hier anschauen: ![]() Und das tool kann man sich hier runterladen: ![]() Bitte um ein Feedback. Also was euch gefallen hat, was nicht, was ihr gerne verbessern würdet bzw. gerne in einem verbessertem Zustand sehen möchtet ;) Danke schon mal im voraus! |
Re: Mein erster Passwort Generator [Delphi]
Ich habe Dein Tool noch nicht getestet. Aber Deinen Sourcecode angeschaut. Ich gebe Dir den Rat, Deine Buttons, RadioButtons u.s.w. mit richtigen Namen zu versehen, die die Tätigkeit des Buttons oder des RadioButtons beschreiben. Ich benenne meine Buttons zum Beispiel so Btn_GeneratePwd. Damit weiß ich, wenn ich den Namen im Sourcecode sehe, dass dieser Button dazu da ist, dass Passwort zu generieren. Das erleichtert die Übersicht. Dann könntest Du noch diesen Bereich vereinfachen :
Deine Version:
Delphi-Quellcode:
Meine Version :
konsonanteklein[1] := 'b';
konsonanteklein[2] := 'c'; konsonanteklein[3] := 'd'; konsonanteklein[4] := 'f'; konsonanteklein[5] := 'g'; konsonanteklein[6] := 'h'; konsonanteklein[7] := 'j'; konsonanteklein[8] := 'k'; konsonanteklein[9] := 'l'; konsonanteklein[10] := 'm'; konsonanteklein[11] := 'n'; konsonanteklein[12] := 'p'; konsonanteklein[13] := 'q'; konsonanteklein[14] := 'r'; konsonanteklein[15] := 's'; konsonanteklein[16] := 't'; konsonanteklein[17] := 'v'; konsonanteklein[18] := 'w'; konsonanteklein[19] := 'x'; konsonanteklein[20] := 'y'; konsonanteklein[21] := 'z';
Delphi-Quellcode:
konsonantegross : array[1..21] of string = (b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z);
|
Re: Mein erster Passwort Generator [Delphi]
Zitat:
Delphi-Quellcode:
Bei dir sind übrigens auch Vokale drin.
konsonantegross : string = 'bcdfghjklmnpqrstvwxyz';
|
Re: Mein erster Passwort Generator [Delphi]
Zitat:
|
Re: Mein erster Passwort Generator [Delphi]
Hallo,
wenn du die Datei schon nicht anhängst, so füge bitte noch die Dateigröße des Zip-Archivs zum Link hinzu, wie es in der Sparte gewünscht wird. ;) Grüße, Matze |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Freeware" nach "Open-Source" verschoben.
Der Source ist ebenfalls verfügbar. |
Re: Mein erster Passwort Generator [Delphi]
Ich habs mir denken können das ich diesen block auch irgendwie kürzer machen kann^^
Ändere ich aber morgen weil ich heute keine lust mehr hab :tongue: Danke auch ;) |
Re: Mein erster Passwort Generator [Delphi]
hab jetzt auch noch nicht getestet und nur geguckt... :stupid:
warum die ZeichenArrays als String? 1 Zeichen = Char und wenn du mehrdimensionale Arrays verwendest, dann könntest du die Angelegenheit, mit der Groß- und Kleinschreibungs, einfacher handhaben
Delphi-Quellcode:
easyaabc : array[1..62] of char = (...);
abc : array[boolean] of array[1..26] of char = (...); vokale : array[boolean] of array[1..5] of char = (('a', 'e', ...), ('A', 'E', ...)); konsonante : array[boolean] of array[1..21] of char = (...); das ganze dann noch als Konstanten (siehe vorredner) wäre auch schöner ^^ z.B.
Delphi-Quellcode:
zu
if odd(I) then begin
pw := pw + vokaleklein[random(4)+1]; end else begin pw := pw + konsonanteklein[random(20)+1]; end;
Delphi-Quellcode:
oder halt nur Kleinschreibung
pw := pw + vokale[odd(I), random(4)+1];
Delphi-Quellcode:
pw := pw + vokale[false, random(4)+1];
oder *editiertes vom vorredner anseh* mit Strings
Delphi-Quellcode:
const easyaabc = '.....';
abc : array[boolean] of string = ('...', '...'); vokale : array[boolean] of string = ('aeiou', 'AEIOU'); konsonante : array[boolean] of string = ('...', '...');
Delphi-Quellcode:
pw := pw + vokale[false][random(4)+1];
|
Re: Mein erster Passwort Generator [Delphi]
Ich weiß ja nicht, was die Funktion "easy to remember" bei dir bewirkt bzw was die bewirken soll.
Allerdings finde ich nicht, das : Zitat:
Du solltest ggf noch eine Funktion "in die Zwischenablage kopieren" einbauen ;) |
Re: Mein erster Passwort Generator [Delphi]
Zitat:
geht doch? :angel2: |
Re: Mein erster Passwort Generator [Delphi]
@ BullsEye: Je länger das pw desto schwieriger ist es zu behalten ;) Die Funktion bringst eben nur wenn man ca. 6-10 stellen hat und am besten nur große und nur kleine buchstaben da sind.
@ himitsu: uff Leider bin ich noch richtiger anfänger in sachen Delphi. Was sind die Vorteile von constanten? Was sind überhaupt constante in Programmiersprachen o.O ? Wie versteh ich diese Zeile:
Delphi-Quellcode:
Wozu ist der array[boolean] da? Und char kann doch nur 1 zeichen aufnehmen, was sind dann die 3 punkte in der klammer?
abc : array[boolean] of array[1..26] of char = (...);
Sowie ich es verstanden habe, wird in der folgenden zeile nur dann was aus dem array genommen wenn odd(I) true ist?
Delphi-Quellcode:
pw := pw + vokale[odd(I), random(4)+1];
Srry wenn jetzt so viel fragen da sind und manche vielleicht total 'dumm' sind aber ich möchte gerne alles verstehen ;) |
Re: Mein erster Passwort Generator [Delphi]
[add]
@NameLozer: ist dir aufgefallen, daß dein konsonantegross klein ist? :mrgreen: [/add] Konstanten sind sowas wie vordefinierte und nicht ädebare Variablen z.B.:
Delphi-Quellcode:
const name = 'ein Text';
const einezahl = 13;
Delphi-Quellcode:
(ist intern alles gleich/ähnlich)
const abc : array[boolean] of array[1..4] of char = (('a', 'b', 'c', 'd'), ('A', 'B', 'C', 'D'));
const abc : array[boolean] of array[1..4] of char = ('abcd', 'ABCD'); const abc : array[false..true] of array[1..4] of char = ('abcd', 'ABCD'); ... const abc : array[boolean] of string = ('abcd', 'ABCD'); Zitat:
Delphi-Quellcode:
array[boolean] = array[false..true]
array[byte] = array[0..255] Zitat:
da müstest du sozusagen noch die fehlenden Werte nachtragen :zwinker: Zitat:
const abc : array[boolean] of array[1..4] of char = ('abcd', 'ABCD'); also abc[true][3] bzw. abc[true, 3] gibt das große 'C' zurück |
Re: Mein erster Passwort Generator [Delphi]
ich habe mal vor ner Ewigkeit soetwas programmiert
Delphi-Quellcode:
function GenPW(const bSmallLetters, bBigLetters, bNumbers, bEasyToRemember: Boolean;
wLength: Word): String; var PossibleChars, PossibleVocals: String; pcLen, pvLen, i: Integer; const aVocalsSmall: Array[0..4] of Char = 'aeiou'; aVocalsBig: Array[0..4] of Char = 'AEIOU'; aSmallLetters: Array[0..25] of Char = 'abcdefghijklmnopqrstuvwxyz'; aBigLetters: Array[0..25] of Char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; aNumbers: Array[0..9] of Char = '0123456789'; begin if bSmallLetters then begin PossibleChars := String(aSmallLetters); if bEasyToRemember then PossibleVocals := String(aVocalsSmall); end; if bBigLetters then begin PossibleChars := PossibleChars + String(aBigLetters); if bEasyToRemember then PossibleVocals := PossibleVocals + String(aVocalsBig); end; if bNumbers then PossibleChars := PossibleChars + String(aNumbers); if Length( PossibleChars ) = 0 then Result := '' else begin Randomize; SetLength(Result, wLength); pcLen := Length(PossibleChars); pvLen := Length(PossibleVocals); for i := 1 to wLength do if bEasyToRemember then begin if i mod 2 = 0 then Result[i] := PossibleVocals[1+Random(pvLen)] else Result[i] := PossibleChars[1+Random(pcLen)]; end else Result[i] := PossibleChars[1+Random(pcLen)]; end; end; |
Re: Mein erster Passwort Generator [Delphi]
|
Re: Mein erster Passwort Generator [Delphi]
Cheers,
Macht ja, was es soll, von daher kein Gemecker von mir. Hinsichtlich der Features und Programmierung verweise ich mal auf ein Ding von mir: ![]() Wie überall gilt: Viele Wege führen nach Rom. Was man sicherlich als guten Anhaltspunkt für einen Benutzer mit ausgeben sollte, ist die Anzahl möglicher KEnnwörter. Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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