Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
ВнизГенератор паролей Найти похожие ветки
← →
Ольга (2002-01-16 14:28) [0]Я написала программку по генерации паролей (с условиями: 1. Количество символов от 1 до 256; 2. Не больше 2 заглавных или строчных букв подряд; 3. Добавление русских букв и знаков препинания).
Ну так вот... Мне очень интересно, есть что-нибудь подобное, если есть, то можно взглянуть? Спасибо.
← →
Фэ (2002-01-16 14:55) [1]Вот что-то похожее.
function RandomRangeString_(Lmin,Lmax: Integer; Up:Boolean): String;
var
x,sl: integer;
begin
result := sNULL;
sl := RandomInteger_(Lmin,Lmax); {длина строки от Lmin до Lmax}
while Length(result) <= sl do begin
x := Byte(RandomInteger_(32, 255)); {общий диапазон символов}
if chr(x) in LatChars then {фильтр}
result := result + chr(x);
end;
if Length(result) > Lmax then
result := Copy(result, 1, Lmax);
if Up then Result := AnsiUpperCase(Result);
end;
function RandomInteger_(iLow, iHigh: Integer): Integer;
begin
result := Trunc(Random(iHigh - iLow)) + iLow;
end;
← →
Стас (2002-01-17 10:04) [2]Я замылил тебе свой вариант решения (под D5).
← →
Dimka Maslov (2002-01-17 10:28) [3]
function GeneratePassword(Len: Integer): string;
type
TChrs = array [1..62] of Char;
var
Chrs: TChrs = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890mnbvcxzasdfghjklpoiuytrewq";
procedure Shuffle(var Chrs: TChrs);
var
i, C: Integer;
Ch: Char;
Index1, Index2: Integer;
begin
C:=High(Chrs)*High(Chrs);
Randomize;
for i:=1 to C do begin
Index1:=1+Random(High(Chrs));
Index2:=1+Random(High(Chrs));
Ch:=Chrs[Index1];
Chrs[Index1]:=Chrs[Index2];
Chrs[Index2]:=Ch;
end;
end;
var
i: Integer;
begin
Randomize;
Result:="";
for i:=1 to Len do Result:=Result+Chrs[1+Random(High(Chrs))];
end;
← →
Dimka Maslov (2002-01-17 10:32) [4]И ещё. Перед циклом for i:=1 to Len... нужно написать Shuffle(Chrs)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c