Вам понадобилось, чтобы Ваше приложение само создавало пароли ? Возможно данный способ Вам пригодится. Всё очень просто: пароль создаётся из символов, выбираемых случайным образом из таблицы.
Совместимость: Delphi 5.x (или выше)
Собственно сам исходничек: Пароль создаётся из символов, содержащихся в таблице.
Внимание: Длина пароля должна быть меньше, чем длина таблицы!
Code
[i]// запускаем генератор случайных чисел (только при старте приложения). procedure TForm1.FormCreate[/i](Sender: TObject); begin Randomize; end; function RandomPwd(PWLen: integer): string; [i]// таблица символов, используемых в пароле[/i] const StrTable: string = '!#$%&/()=?@<>|{[]}\*~+#;:.-_' + 'ABCDEFGHIJKLMabcdefghijklm' + '0123456789' + 'ДЦЬдцьЯ' + 'NOPQRSTUVWXYZnopqrstuvwxyz'; var N, K, X, Y: integer;[i]// проверяем максимальную длину пароля[/i] if (PWlen > Length(StrTable)) then K := Length(StrTable)-1 else K := PWLen; SetLength(result, K);[i] // устанавливаем длину конечной строки[/i] Y := Length(StrTable); [i]// Длина Таблицы для внутреннего цикла[/i] N := 0; // начальное значение цикла while N < K do begin [i]// цикл для создания K символов[/i] X := Random(Y) + 1; [i]// берём следующий случайный символ[/i] [i]// проверяем присутствие этого символа в конечной строке[/i] if (pos(StrTable[X], result) = 0) then begin inc(N); [i]// символ не найден[/i] Result[N] := StrTable[X]; [i]// теперь его сохраняем[/i] end; end;
end;
procedure TForm1.Button1Click(Sender: TObject); var cPwd: string; begin [i]// вызываем функцию генерации пароля из 30 символов[/i] cPwd := RandomPwd(30); [i]// ...[/i] end;