this slowpoke moves

Generate Password with Strings & Numbers

function GeneratePass(syllables, numbers: Byte): string;

  function Replicate(Caracter: string; Quant: Integer): string;
  var
    I: Integer;
  begin
    Result := '';
    for I := 1 to Quant do
      Result := Result + Caracter;
  end;
const
  conso: array [0..19] of Char = ('b', 'c', 'd', 'f', 'g', 'h', 'j',
    'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z');
  vocal: array [0..4] of Char = ('a', 'e', 'i', 'o', 'u');
var
  i: Integer;
  si, sf: Longint;
  n: string;
begin
  Result := '';
  Randomize;

  if syllables <> 0 then
    for i := 1 to syllables do
    begin
      Result := Result + conso[Random(19)];
      Result := Result + vocal[Random(4)];
    end;

  if numbers = 1 then Result := Result + IntToStr(Random(9))
  else if numbers >= 2 then
  begin
    if numbers > 9 then numbers := 9;
    si     := StrToInt('1' + Replicate('0', numbers - 1));
    sf     := StrToInt(Replicate('9', numbers));
    n      := FloatToStr(si + Random(sf));
    Result := Result + Copy(n, 0,numbers);
  end;
end;
Beispiel :
procedure TForm1.Button1Click(Sender: TObject);
begin
   Edit1.Text := GeneratePass(10,  // Anzahl der Buchstaben 
                              10); // Anzahl der Zahlen
end;
Zufall Passwörter :
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

function RandPW(iPWLen: Integer; bSpecial: Boolean): String;
var
  sPW: string;
begin
  sPW := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  if bSpecial then
  begin
    sPW := sPW + '1234567890!"§$%&/()=?~+,.-{}[]²³\|*';
  end;
  Result := '';
  repeat
    Result := Result + sPW[Random(Length(sPW)) + 1];
  until
    (Length(Result) = iPWLen);
end;
Beispiel :
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(RandPW(5, True)); //5 ist die Länge des Passwortes und das True ob auch Sonderzeichen verwendet werden sollen
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate