返回顶部

收藏

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;
//该片段来自于http://outofmemory.cn

标签:pascal,安全

收藏

0人收藏

支持

0

反对

0

发表评论