was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews
 sonstiges ¦  tutorials ¦  Add&Win Gewinnspiel

Tips (1541)

Dateien (137)
Datenbanken (90)
Drucken (35)
Grafik (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Mathematik (76)
Multimedia (45)
Oberfläche (107)
Objekte/
ActiveX (51)

OpenTools API (3)
Sonstiges (126)
Strings (83)
System (266)
VCL (242)

Tips sortiert nach
Komponente


Tip suchen

Tip hinzufügen

Add&Win Gewinnspiel

Werbung

29 Visitors Online


 
...zufällige Passwörter automatisch generieren?
Autor: Marcelo Castro
[ Tip ausdrucken ]  

Tip Bewertung (8):  
     


//Extended version of SpeakAblePassWord routine
//modified by Marcelo Castro
//
//syntax:   GeneratePass(number_of_syllables,decimal_part)


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;

{-----------------------------------------------
  utilization:
  ============
         ex: GeneratePass(3,2)   =>   'pavoco53'

         ex: GeneratePass(3,4)   =>   'yegise7955'

         ex: GeneratePass(5,0)   =>   'yagotoxa'

         ex: GeneratePass(0,9)   =>   '568597284'
------------------------------------------------}


 

Bewerten Sie diesen Tipp:

dürftig
ausgezeichnet


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners