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

Вниз

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

 
Socol ©   (2002-02-07 07:31) [0]

Здраствуйте!
Помогите придумать гениратор паролей.
Придумал как сделать цефровой примерно так
edit1.text := IntToStr(StrToInt(edit1.text) + 1);
А можно сделать чтобы он перебирал цифры с буквами и просто буквы.
Спасибки всем кто подсказал!


 
MBo ©   (2002-02-07 07:39) [1]

randomize;
edit1.text:="";
for i:=1 to 10 do begin
c:=chr(ord("0")+random(ord("z")-ord("0")));
if not (c in [":".."@"]) then
edit1.text:=edit1.text+c;
end;


 
Sergy   (2002-02-07 10:10) [2]

Я бы сделал так:

var
pass, str :string;
i:integer;
begin
str:="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
Pass:="";
Randomize;
for i:=1 to 8 do
Pass:=Pass+copy(str,(RandomRange(1,Length(str))),1);
end;


 
MBo ©   (2002-02-07 10:14) [3]

RandomRange ????


 
Sergy   (2002-02-07 11:06) [4]

to MBo

function RandomRange(const AFrom, ATo: Integer): Integer;

Description

RandomRange returns a random integer from the range that extends between AFrom and ATo (inclusive). RandomRange can handle negative ranges (where AFrom is greater than ATo).

To initialize the random number generator, add a single call Randomize or assign a value to the RandSeed variable before making any calls to RandomRange.


 
Олег Лаукарт ©   (2002-02-07 11:33) [5]

Вместо пароля можно использовать GUID
function CreatePassword : string;
var aGUID : TGUID;
begin
CreateGUID(aGUID);
Result := GUIDToString(aGUID);
end;


 
Dimka Maslov ©   (2002-02-07 13:00) [6]

>Олег
...а потом мучаться упорно вспоминая комбинацию из 32 цифр.

>Sokol
Я пользуюсь таким методом


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;

function GetString(Chrs: TChrs): String;
var
i, C: Integer;
begin
Randomize;
C:=5+Random(8);
Result:="";
for i:=1 to C do Result:=Result+Chrs[1+Random(High(Chrs))];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Shuffle(Chrs);
ShowMessage(GetString(Chrs));
end;





Страницы: 1 вся ветка

Текущий архив: 2002.02.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
6-79421
NailS
2001-11-29 15:09
2002.02.25
Алгоритмы передачи данных для TCP


6-79409
Дима
2001-12-07 19:07
2002.02.25
МАС адрес


3-79299
Вика
2002-01-31 23:42
2002.02.25
ODBC >> *.db


1-79359
Fellomena
2002-02-08 13:52
2002.02.25
Нетривиальная задачка...


3-79267
Akhmadey
2002-01-30 17:04
2002.02.25
Новый компонент