Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 13.05.2017
Сообщений: 25
1

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

26.09.2017, 21:21. Просмотров 1104. Ответов 15
Метки нет (Все метки)


Добрый день! Прошу помогите с кодом, точнее как написать... Я новичок, начал изучать Delphi. Генератор паролей
В долгу не останусь. Заранее буду отблагодарен.
Количество символов пароля 8
0
Миниатюры
Генератор паролей  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2017, 21:21
Ответы с готовыми решениями:

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

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

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

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

__________________
Помогаю в написании курсовых работ и дипломов здесь.
15
Эксперт Pascal/Delphi
4665 / 2652 / 832
Регистрация: 04.10.2012
Сообщений: 9,666
26.09.2017, 21:24 2
Цитата Сообщение от Yura_Kulik Посмотреть сообщение
начал изучать Delphi
а что-нибудь сделали в процессе изучения, чтобы написать
Цитата Сообщение от Yura_Kulik Посмотреть сообщение
Генератор паролей
?
0
3568 / 3040 / 819
Регистрация: 29.08.2013
Сообщений: 20,286
Записей в блоге: 2
26.09.2017, 21:27 3
Цитата Сообщение от Yura_Kulik Посмотреть сообщение
Заранее буду отблагодарен.
эта пять

Цитата Сообщение от Yura_Kulik Посмотреть сообщение
В долгу не останусь.
клянешься?

Цитата Сообщение от Yura_Kulik Посмотреть сообщение
Я новичок, начал изучать Delphi
а в чем у тебя вопрос возник?

1. используй random и все
2. тут придется почитать про множества, но только для объявления его в коде. далее с помощью random получаем случайное число
3. такое же множество из пункта 2. можно повыделываться и получить их как нибудь еще
4. решить уравнение. (а что такое N?)
0
1 / 1 / 0
Регистрация: 13.05.2017
Сообщений: 25
26.09.2017, 21:42  [ТС] 4
qwertehok, где N - количество символов идентификатора
(может быть любым)
0
Модератор
6760 / 4354 / 1869
Регистрация: 21.01.2014
Сообщений: 18,421
Записей в блоге: 3
27.09.2017, 06:17 5
Yura_Kulik, а где в задании b6? Шестой символ пароля чему должен быть равен?
0
Модератор
6760 / 4354 / 1869
Регистрация: 21.01.2014
Сообщений: 18,421
Записей в блоге: 3
27.09.2017, 06:33 6
Сделал пока 6-й символ пароля одним из спецсимволов. Надо будет - сами поменяете, код перед Вами.
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
uses ..., Math;
...
procedure TForm1.Button1Click(Sender: TObject);
const Symb = '!@#$%^&()"*';
      rus = 'абвгдеёжзиклмнопрстуфхцчшщъыьэюя';
var N, P, i: integer;
    s: String;
    c: char;
begin
 Randomize;
 N := SpinEdit1.Value;
 s := '';
 for i := 1 to 3 do
   s := s + IntToStr(RandomRange(0, 10));
 for i := 1 to 3 do
  begin
   c := Symb[RandomRange(1, Length(Symb) + 1)];
   if c = '&' then s := s + '&&' else s := s + c;
  end;
 s := s + AnsiUpperCase(rus[RandomRange(1, Length(rus) + 1)]);
 P := (N * N) mod 15 + (N * N * N) mod 15 + 1;
 s := s + rus[P];
 Label2.Caption := 'Ваш пароль: ' + s;
end;
0
Изображения
 
3568 / 3040 / 819
Регистрация: 29.08.2013
Сообщений: 20,286
Записей в блоге: 2
27.09.2017, 07:04 7
D1973,
первые 3 - можно было взять любое случайное трехзначное число (100-999)

а что делает 18 строка?
1
Модератор
6760 / 4354 / 1869
Регистрация: 21.01.2014
Сообщений: 18,421
Записей в блоге: 3
27.09.2017, 07:16 8
Цитата Сообщение от qwertehok Посмотреть сообщение
первые 3 - можно было взять любое случайное трехзначное число (100-999)
++
Цитата Сообщение от qwertehok Посмотреть сообщение
а что делает 18 строка?
Амперсанд экранирует, иначе пароль 347&%(Рм выводится как на рисунке...
0
Изображения
 
494 / 396 / 260
Регистрация: 05.04.2013
Сообщений: 1,763
27.09.2017, 07:56 9
Цитата Сообщение от qwertehok Посмотреть сообщение
первые 3 - можно было взять любое случайное трехзначное число (100-999)
я думаю это ограничит условие, в смысле в условии не сказано что первые два символа не должны быть нулями, что если Random(1000) выдаст число 8? нужно StringOfChar'нуть до 008. Или чтобы не юзать эту функцию, просто написать цикл как у D1973
Delphi
1
2
for i := 1 to 3 do
   s := s + IntToStr(RandomRange(0, 10));
Добавлено через 4 минуты
кроме того, думаю, это даст более случайное число 0-999, например вероятность того что выпадет 0 (добиваем его до трех нулей 000 через функцию StringOfChar) более высокая, чем если выпадет три нуля подряд через цикл по одному символу
1
3568 / 3040 / 819
Регистрация: 29.08.2013
Сообщений: 20,286
Записей в блоге: 2
27.09.2017, 08:02 10
Цитата Сообщение от AHBAR Посмотреть сообщение
в условии не сказано что первые два символа не должны быть нулями
+

или можно подумать как добавить ведущие нули просто или сразу согласиться что бы не думать
0
Модератор
6760 / 4354 / 1869
Регистрация: 21.01.2014
Сообщений: 18,421
Записей в блоге: 3
27.09.2017, 12:49 11
Цитата Сообщение от qwertehok Посмотреть сообщение
как добавить ведущие нули просто
Можно, конечно, чтобы цикл не гонять, способом "тупо в лоб":
Delphi
1
2
3
4
i := RandomRange(0, 1000);
if i < 10 then s := s + '00' + IntToStr(i)
 else if i < 100 then s := s + '0' + IntToStr(i)
  else s := s + IntToStr(i);
Но... некрасиво как-то...
0
3568 / 3040 / 819
Регистрация: 29.08.2013
Сообщений: 20,286
Записей в блоге: 2
27.09.2017, 13:02 12
можно получать 3х значное число и разворачивать его с помощью ReverseString()
было 100 - станет 001
0
Модератор
6760 / 4354 / 1869
Регистрация: 21.01.2014
Сообщений: 18,421
Записей в блоге: 3
27.09.2017, 14:22 13
Цитата Сообщение от qwertehok Посмотреть сообщение
с помощью ReverseString()
еще рандомнее рандомного
0
494 / 396 / 260
Регистрация: 05.04.2013
Сообщений: 1,763
28.09.2017, 06:57 14

Не по теме:

Цитата Сообщение от D1973 Посмотреть сообщение
еще рандомнее рандомного
в принципе рандомность неограничена, можно сгенерировать от 1 000 000 до 9 999 999, потом из этой последовательности выбрать три случайных цифры, прибавить полусумму, отнять полуразность, умножить еще на одно случайное число от 1 до 9 и т.д. - главное чтобы три цифры в конце было :D


Цитата Сообщение от Yura_Kulik Посмотреть сообщение
Прошу помогите с кодом
Цитата Сообщение от Yura_Kulik Посмотреть сообщение
Заранее буду отблагодарен
то есть вам помогут и потом вас же и поблагодарят?
0
Модератор
6760 / 4354 / 1869
Регистрация: 21.01.2014
Сообщений: 18,421
Записей в блоге: 3
28.09.2017, 07:14 15

Не по теме:

Цитата Сообщение от Yura_Kulik Посмотреть сообщение
буду отблагодарен
:rofl: Даже и не заметил сразу



Добавлено через 3 минуты
Вот только одно мне непонятно... На каком языке делать надо было: точно такая же тема этого же ТС-а в разделе C#...
Yura_Kulik, ау-у!!!
0
droider
28.09.2017, 09:13     Генератор паролей
  #16

Не по теме:

Цитата Сообщение от Yura_Kulik Посмотреть сообщение
Заранее буду отблагодарен
Цитата Сообщение от D1973 Посмотреть сообщение
Даже и не заметил сразу
+1. Ору!! :D :yahoo:

Может он с помощью форума кому-то программу "пишет"?? :scratch: ))

0
28.09.2017, 09:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2017, 09:13
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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