Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
4-9022
diasm
2001-12-06 18:21
2002.02.04
Анимированные иконки


7-9008
Vitaliy Jungle
2001-10-13 05:42
2002.02.04
Гребаный MSDOS


1-8936
Yuraz
2002-01-03 08:49
2002.02.04
Люди, подскажите, как слева в Code Explorer сделать нумерацию строк программного кода?


1-8921
boogier
2002-01-15 17:58
2002.02.04
Кнопка


1-8844
Vovochka_guest
2002-01-21 08:53
2002.02.04
Какой компонент для создания отчетов лучше?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский