Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.04;
Скачать: CL | DM;

Вниз

Генератор паролей   Найти похожие ветки 

 
Ольга   (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;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.004 c
1-8910
Eraser
2002-01-16 10:59
2002.02.04
потоки текут-2 или получилось наполовину


1-8893
Gayrus
2002-01-15 16:51
2002.02.04
StringGrid save


1-8814
Molotov
2002-01-18 21:04
2002.02.04
Скин для формы


1-8913
Cyber
2002-01-17 05:24
2002.02.04
Как сделать TMemo прозрачным?


1-8855
asdf
2002-01-20 23:36
2002.02.04
Как сделать так, чтобы один из Tabsheet-ов в pagecontrole стал disabled?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский