1. 程式人生 > >[delphi]生成隨機字元(密碼)函式

[delphi]生成隨機字元(密碼)函式

最近在做一個小軟體,需要隨機生成一些密碼之類的,於是乎就整了這麼一個函式,用於隨機生成一定長度的大/小寫字母和0-9的數字。

function GetRandStr(len : Integer; lowercase : Boolean = True; 
num : Boolean = True; uppercase : Boolean = False) : string;
const
  upperStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  lowerStr = 'abcdefghijklmnopqrstuvwxyz';
  numStr = '0123456789';
var
  sourceStr : string;
  i : Integer;
begin
  sourceStr := '';
  Result := '';
  if uppercase = True then
    sourceStr := sourceStr + upperStr;
  if lowercase = True then
    sourceStr := sourceStr + lowerStr;
  if num = True then
    sourceStr := sourceStr + numStr;
  if (sourceStr = '') or (len<1) then
    exit;

  Randomize;
  for i:=1 to len do
  begin
    Result := Result + sourceStr[Random(Length(sourceStr)-1)+1];
  end;
end;