Mega Code Archive

 
Categories / Delphi / Strings
 

Generate random passwords (advanced)

Title: Generate random passwords (advanced) ? //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' ------------------------------------------------}