С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
1

Генератор Паролей

10.11.2023, 11:37. Показов 871. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, уважаемые программисты.
Подскажите пожалуйста, создал программу для генерации паролей.
Из компонентов додавил edit1 (для ввода количества символов генерации паролей), одну кнопку button1 (при нажатии генерирует пароль), memo1 для вывода результата, два чек-бокса для выбора алфавита
Как сделать, чтобы при вводе в edit2 (выбор количества генерируемых паролей), они отображались в memo1? Что необходимо добавить?
С уважением.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const
s1='ABCDEF';
S2='0123456789';
var
s0,password:string;
i,c:integer;
begin
s0:='';
if checkbox1.Checked then
begin
s0:=s0+s1;
end;
if checkbox2.Checked then
begin
s0:=s0+s2;
end;
password:='';
c:=strtoint (edit1.Text);
for i:=1 to c do password:=password+s0 [Random (Length(s0))+1];
memo1.Lines.Clear;
memo1.Lines.Add(password);
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2023, 11:37
Ответы с готовыми решениями:

Генератор паролей
Добрый день! Прошу помогите с кодом, точнее как написать... Я новичок, начал изучать Delphi....

Генератор паролей
На курсовую надо создать генератор паролей... я в Delphi дуб дубом... помогите!!! Напишите как это...

Генератор паролей
Здравствуйте! Мне нужно создать генератор паролей, где {b}_{1} - {b}_{2} - произвольные большие...

Генератор паролей
Люди подскажите как сделать чтобы после каждых 15 символов ставил тире '-' или пропуск ' ' Вот код...

25
5871 / 4596 / 1448
Регистрация: 14.04.2014
Сообщений: 20,392
Записей в блоге: 20
10.11.2023, 11:53 2
внизу, под темой, целый выводок разных генераторов паролей
берите
0
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
10.11.2023, 11:54  [ТС] 3
krapotkin,
Я смотрел, не могу сообразить как добавить количество паролей.
С уважением.
0
5871 / 4596 / 1448
Регистрация: 14.04.2014
Сообщений: 20,392
Записей в блоге: 20
10.11.2023, 11:56 4
если вы что-то умеете делать 1 раз
то чтобы делать это N раз существуют циклы
Delphi
1
2
3
4
for i := 0 to N - 1 do
begin
   сгенерировать 1 пароль
end;
0
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
10.11.2023, 11:59  [ТС] 5
krapotkin,
Та Я и так генерирую. Можно убрать строчку memo1.Lines.Clear; и будет при каждом нажатии генерировать по одному паролю добавляя каждую строчку в мемо.
Вопрос в том, как сделать, чтобы можно было в edit2 ввести количество и при нажатии на кнопку сгенерировалось сразу 300 паролей?
С уважением.
0
5871 / 4596 / 1448
Регистрация: 14.04.2014
Сообщений: 20,392
Записей в блоге: 20
10.11.2023, 12:15 6
детский сад какой-то
вопрос в том как получить в N число из edit2 ??

Delphi
1
2
3
4
5
N := StrToIntDef(Edit2.text, 0);
for i := 0 to N - 1 do
begin
   сгенерировать 1 пароль
end;
0
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
10.11.2023, 12:52  [ТС] 7
krapotkin,
Вопрос в том, как сгенерировать сразу 300 паролей, указав в edi2 300
У Меня не получилось
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
consts1='ABCDEF';
S2='0123456789';var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
  s0, password: string;
  i,c,n: integer;
begin
  s0 := '';
  if checkbox1.Checked then begin
    s0 := s0 + s1;
  end;
  if checkbox2.Checked then begin
    s0 := s0 + s2;
  end;
  password := '';
  c := strtoint (edit1.Text);
  for i := 0 to c do
    password := password + s0[Random (Length(s0))+1];
  memo1.Lines.Clear;
  memo1.Lines.Add(password);
  n := strtointdef (edit2.Text, 0);
  for i :=0 to n-1 do
    password := password + s0[Random (Length(s0))+1];
  memo1.Lines.Add(password);
end;
0
5871 / 4596 / 1448
Регистрация: 14.04.2014
Сообщений: 20,392
Записей в блоге: 20
10.11.2023, 12:56 8
прочтите пожалуйста
https://www.cyberforum.ru/abou... 03521.html
и оформляйте код тегом Delphi

вы же сами написали, что надо убрать memo1.lines.Clear
и что не убрали?

Добавлено через 1 минуту
и почему 2 раза один и тот же кусок кода for i:=0 to n-1 do ?
и что конкретно не получилось
какая ошибка? мы что, догадаться должны?

Добавлено через 47 секунд
после DO в цикле должно быть BEGIN ... END чтобы выполнялось больше чем 1 оператор
0
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
10.11.2023, 13:10  [ТС] 9
krapotkin,
Дважды, так, как переменная с, это количество символов, которое берётся из edit1

Добавлено через 6 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
consts1='ABCDEF';
S2='0123456789';var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);var
s0,password:string;i,c,n:integer;
begins0:='';
if checkbox1.Checked thenbegin
s0:=s0+s1;end;
if checkbox2.Checked thenbegin
s0:=s0+s2;end;
password:='';c:=strtoint (edit1.Text);
n:=strtointdef (edit2.Text,0);for i:=0 to c do
password:=password+s0 [Random (Length(s0))+1];memo1.Lines.Add(password);
end;
0
Модератор
3759 / 2260 / 782
Регистрация: 15.11.2015
Сообщений: 8,989
10.11.2023, 13:32 10
RealTrue123, вот так надо?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm1.Button1Click(Sender: TObject);
const
  s1='ABCDEF';
  S2='0123456789';
var
  s0, password: string;
  i, c, n: integer;
begin
  s0 := '';
  if CheckBox1.Checked then
    s0 := s0 + s1;
  if CheckBox2.Checked then
    s0 := s0 + s2;
  c := StrToInt(Edit1.Text); // Количество символов
  n := StrToInt(Edit2.Text); // Количество паролей
  Memo1.Lines.Clear;
  Memo1.ScrollBars := ssVertical;
  for n := 1 to n do
  begin
    password:='';
    for i := 1 to c do
      password := password + s0[Random(Length(s0)) + 1];
    Memo1.Lines.Add(password);
  end;
end;
В Edit2 вводится количество паролей.
1
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
10.11.2023, 13:45  [ТС] 11
AzAtom,
Абсолютно верно. Я очень Вам благодарен!
С уважением.
0
Злостный нарушитель
9558 / 5187 / 1182
Регистрация: 12.03.2015
Сообщений: 24,490
10.11.2023, 14:23 12
Могу подарить самодельный генератор паролей. Кроссплатформенный.



1
541 / 241 / 27
Регистрация: 05.05.2022
Сообщений: 1,571
10.11.2023, 14:50 13
- Нужен генератор случайных чисел.
- 14!
0
13 / 11 / 2
Регистрация: 11.10.2023
Сообщений: 138
10.11.2023, 23:03 14
krapotkin, я уважаю твою выдержку к очевидно тупому пассажиру. Это призвание!
0
237 / 203 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
10.11.2023, 23:08 15
Цитата Сообщение от cyberGlod Посмотреть сообщение
к очевидно тупому пассажиру
Зря ты так.
В этот раздел приходят разные люди, с различной подготовкой. Иногда с нулевой.
То, что человека интересуется - это уже хорошо.
С чего-то нужно начинать. Не все рождаются программистами со встроенным знанием Delphi.
1
5871 / 4596 / 1448
Регистрация: 14.04.2014
Сообщений: 20,392
Записей в блоге: 20
10.11.2023, 23:29 16
соглашусь с Constcat
лучше сделать и каяться, чем не сделать и маяться))
1
13 / 11 / 2
Регистрация: 11.10.2023
Сообщений: 138
11.11.2023, 10:28 17
Одно другому не мешает
0
0 / 0 / 0
Регистрация: 10.11.2023
Сообщений: 13
17.11.2023, 10:50  [ТС] 18
Здравствуйте, скажите пожалуйста, как убрать при генерации последнюю пустую строчку при генерации пароля?
С уважением.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
procedure TForm1.Button1Click(Sender: TObject);
var
s0,password:string;
i,c,n,a:integer;
begin
if (checkbox1.Checked=false) and (checkbox2.Checked=false) then
begin
showmessage ('Укажите Параметры Генерации Пароля (ей)');
end;
s0:='';
if checkbox1.Checked then
begin
s0:=s0+s1;
c:=strtoint (edit1.Text);
n:=strtoint (edit2.Text);
memo1.Lines.Clear;
memo1.ScrollBars:=ssVertical;
for n:=1 to n do
begin
password:='';
for i:=1 to c do
password:=password +s0 [Random (Length (s0)) +1];
memo1.Lines.Add(password);
Memo1.SelStart:=0;
Memo1.SelLength := 0;
end;
a:=memo1.Lines.count;
label4.Caption:=inttostr (a);
end;
Миниатюры
Генератор Паролей  
0
Модератор
9627 / 6236 / 2421
Регистрация: 21.01.2014
Сообщений: 26,625
Записей в блоге: 3
17.11.2023, 11:25 19
Цитата Сообщение от RealTrue123 Посмотреть сообщение
s0:=s0+s1;
А что такое вообще s1? Где объявлена, как инициализирована?
Цитата Сообщение от RealTrue123 Посмотреть сообщение
как убрать при генерации последнюю пустую строчку
1. строки 24-25 убрать
2. эту строку добавить перед присвоением значения переменной а;
Delphi
1
Memo1.Text := Trim(Memo1.Text);
1
Модератор
3759 / 2260 / 782
Регистрация: 15.11.2015
Сообщений: 8,989
17.11.2023, 11:33 20
Цитата Сообщение от RealTrue123 Посмотреть сообщение
как убрать при генерации последнюю пустую строчку
Можно так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button2Click(Sender: TObject);
var s: string;
begin
  Memo1.Lines.Clear;
  Memo1.Lines.Add('123');
 
  s := Memo1.Lines.Text;
// Если 2 последних символа в строке равны #13#10, то скопировать без них
  if (s[Length(s)-1] = #13) and (s[Length(s)] = #10) then Memo1.Lines.Text := Copy(s, 1, Length(s)-2);
 
  Label4.Caption := IntToStr(Memo1.Lines.Count);
end;
0
17.11.2023, 11:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2023, 11:33
Помогаю со студенческими работами здесь

Генератор паролей
Начал писать генератор паролей, смотрел видео по нему, всё точь в точь так же написано.Код: unit...

Генератор паролей
Пишу программу "Генератор паролей", сначала написал на Pascal, компилировалось и работало отлично....

Генератор паролей
Прошу помочь в составлении кода, а также выделить существующие, грубые ошибки. Я в...

Генератор паролей
Здравствуйте!Как написать генератор паролей с разделителем? Если можно с примерами. Требования:...

Генератор паролей, delphi 7
все привет) нужна ваша помощь! я не могу написать код генератора паролей в Delphi, я начинающий....

Генератор паролей по масске
Помогите написать код для генератора паролей и проверки их. Софт должен генерировать пароль по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru