Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
65 / 0 / 3
Регистрация: 06.11.2010
Сообщений: 177
1

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

17.12.2013, 21:25. Просмотров 1464. Ответов 3
Метки нет (Все метки)

Здравствуйте! Мне нужно создать генератор паролей, где https://www.cyberforum.ru/cgi-bin/latex.cgi?{b}_{1} - {b}_{2} - произвольные большие буквы английского алфавита, https://www.cyberforum.ru/cgi-bin/latex.cgi?{b}_{3} - {b}_{10-q-1} - произвольные маленькие русские буквы,
https://www.cyberforum.ru/cgi-bin/latex.cgi?{b}_{10-q} - {b}_{10} - произвольные числа.
Возник вопрос, как мне указать какие символы нужно генерировать.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
Var q:longint;
    b:array [1..10] of byte;
    i:longint;
const mas:array [1..33] of char =  ( 'а','б','в','г','д','е','ё','ж','з','и',
     'й','к','л','м','н','о','п','р','с','т',
     'у','ф','х','ц','ч','ш','щ','ъ','ы', 'ь',
     'э','ю','я');
begin
randomize;
q:=Length(Edit1.Text) mod 6;
b[1]:=65+random(5);
b[2]:=64+random(4);
for i:=3 to 10-q-1 do
    b[i]:=165+random(3);
Edit2.Clear;
for i:=1 to 10 do
  begin
  edit2.Text:=edit2.Text+char(b[i]);
  end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
 
end;
 
end.
Я пробовал указать символы как ASCII код, но не получается
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2013, 21:25
Ответы с готовыми решениями:

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

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

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

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

3
103 / 102 / 29
Регистрация: 15.01.2011
Сообщений: 481
18.12.2013, 14:14 2
Не совсем понимаю, что такое q.
Как я понял (если неправильно, то поправьте), что нужно первые два символа пароля сделать прописными буквами латинского алфавита, с 3-го по 9-й символ - русскими строчными, и в конце - произвольные числа.
Собственно, я бы сделал два строчных массива с русским и латинским алфавитом. Элементы массива по номеру выбирал случайным образом. С числами, естественно, все проще. В конце все склеил бы в одну строку. Или я что-то не уловил?
1
65 / 0 / 3
Регистрация: 06.11.2010
Сообщений: 177
18.12.2013, 16:48  [ТС] 3
...

Добавлено через 12 минут
Не получается генерировать случайные числа. Вместо чисел выдает закарлючки.
Delphi
1
2
for i:=10-q to 10 do
      b[i]:=Random(9);
Добавлено через 33 минуты
Цитата Сообщение от Wlad445 Посмотреть сообщение
...

Добавлено через 12 минут
Не получается генерировать случайные числа. Вместо чисел выдает закарлючки.
Delphi
1
2
for i:=10-q to 10 do
      b[i]:=Random(9);
Разобрался)
Delphi
1
2
for i:=10-q to 10 do
      b[i]:=48+Random(10);
0
103 / 102 / 29
Регистрация: 15.01.2011
Сообщений: 481
18.12.2013, 17:56 4
Ну вот, а писали, что поняли.
Вот код (предварительно настройте консоль для отображения русских букв)
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
30
31
32
33
34
35
36
37
38
39
40
41
program PasswordProject;
 
{$APPTYPE CONSOLE}
 
{$R *.res}
 
uses
  System.SysUtils;
const
  LAT = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';  // массив латинских прописных букв
  RUS = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';  // массив русских строчных букв
  LengthLAT = 2;          // кол-во латинских букв в пароле
  LengthRUS = 7;          // кол-во русских букв в пароле
  LengthNUM = 1;          // кол-во цифр в пароле
  MAX_NUMBER = 9;         // максимальное цифровое число в пароле
var
  i: integer;   // переменная для счетчика
  password: string;  // переменная для хранения пароля
begin
  // Устанавливаем генератор случайного числа на следующее значение
  Randomize;
  // обнуляем пароль
  password:='';
 
  // генерируем латинские символы в начале
  for I := 0 to LengthLAT-1 do
    Password:=Password+copy(LAT,Random(Length(LAT)-1)+1,1);
 
  // далее генерируем русские символы
  for I := 0 to LengthRUS-1 do
    Password:=Password+copy(RUS,Random(Length(RUS)-1)+1,1);
 
  // генерация цифр в конце
  for I := 0 to LengthNUM-1 do
    Password:=Password+IntToStr(Random(MAX_NUMBER));
 
  // выодим результат на экран
  WriteLn('Пароль: '+Password);
  // задержка вывода, чтобы посмотреть результат
  ReadLn;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2013, 17:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.