Hallo Ihr beiden,
vielen Dank für eure Hilfe.
@R4id --> habe ich aus einem Forum, stimmt

Der Link von dir kam mir allerdings nicht so bekannt vor. Die Funktion mit den unterteilten Groß-, Kleinbuchstaben und Zahlen hat mir aber sehr weitergeholfen. Da ich nicht so der Profi bin wusste ich nicht wirklich wie ich die Anz der jeweiligen Buchstaben zählen soll.
@thepaine92 --> vielen Dank auch an Dich. Hab es nun nicht mit einem Array gelöst sondern mit einem normalen String. Schreibe hier 2 x klein, 3 x groß, 3 x Zahlen und mische diesen String dann nochmal (code ebenfalls hier im Forum)
Die Sicherheit der Passwörter ist momentan für meine Bedürfnisse nicht sooo wichtig
Hier mein Code der Funktion:
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: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57:
| function GeneratePassword(Mode: TPasswordMode):string; const cLower = 'abcdefghjkmnpqrstuvwxyz'; cUpper = 'ABCDEFGHJKLMNPQRSTUVWXYZ'; cNumbers = '123456789';
var i, j : Integer; s, pwd : string; ch, ch2 : char; iM: BYTE; begin if Mode = [] then Exit;
i := 0; Randomize;
while (i < 2) do begin if (pmLower in Mode) then begin s := s + cLower[1+RANDOM(Length(cLower))]; Inc(i); end; end;
while (i < 5) do begin if (pmUpper in Mode) then begin s := s + cUpper[1+RANDOM(Length(cUpper))]; Inc(i); end; end;
while (i < 8) do begin if (pmNumbers in Mode) then begin s := s + cNumbers[1+RANDOM(Length(cNumbers))]; Inc(i); end; end;
for i := 0 to length(s) do begin j := random (length(s)+1); if (i > 1) and (j > 1) then begin ch := s[j]; ch2 := s[i]; s[i] := ch; s[j] := ch2; end; end; Result := s; end; |
Vielleicht nicht die eleganteste Lösung aber sie erfüllt Ihren Zweck!!
Danke!!