Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Вниз

Генератор паролей! 


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;





Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.012 c
7-79476           volph                 2001-11-13 15:44  2002.02.25  
Как вывести ролик на весь экран в TMediaPlayer????


6-79420           SemFLY                2001-12-02 01:14  2002.02.25  
Как удаленно приконектить диск, та как WNetConnectionDialog приконектит если доступ есть :-(


1-79373           Oxy2                  2002-02-08 18:20  2002.02.25  
Поиск по маске


3-79294           Максимка              2002-01-28 21:35  2002.02.25  
Как лучше всего автонумеровать добавляемые записи?


3-79269           User_OKA              2002-01-30 08:09  2002.02.25  
Access & BDE