Автор: skycar
Простой генератор случайных паролей можно создать с помощью функции Chr(N) и случайного выбора N, где N - порядковый номер символа.
В секцию uses добавьте модуль Math, разместите на форме TEdit и кнопку TButton.
Теперь пишем код обработчика нажатия кнопки
procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
Edit1.Clear;
Edit1.Text := chr(RandomRange(97, 122))+chr(RandomRange(97, 122))+
chr(RandomRange(97, 122))+chr(RandomRange(97, 122))+
chr(RandomRange(48, 57))+chr(RandomRange(65, 90))+
chr(RandomRange(97, 122))+chr(RandomRange(97, 122));
end;
Здесь в TEdit добавляются символы по случайным порядковым номерам. Такой пароль получается надёжным и криптостойким.
Просмотров: 8585
Так ещё лучше
function RndString(Len:integer):string; var i:integer; begin randomize; for i:=1 to Len do Result:=Result+Chr($30+Random($4D)); //0 - } end; Символы выбираются из диапазона 0x30 - 0x7d (0 - }) ASCII таблицы. |
1. Delphi
Мой метод проще всех будет
procedure TForm1.Button1Click(Sender: TObject); Ответ: Ваш код написан немного безграмотно.
Во первых, зачем 10 раз инициализировать генератор случайных чисел? Во вторых Random(length(s)) возвратит число от 0 до длинны строки минус 1. В результате чего, может выпасть S[0] - этого впринципе не существует, так как строка начинается с 1. А последний символ никогда не будет задействован. Ну и в третьих, я бы сначала писал результат в переменную, а затем все разом вывел. |
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.