Наличие надежного пароля является обязательным сегодня. Надежный пароль означает лучшую безопасность. Думать о надежных паролях может быть утомительно, когда вам приходится создавать учетную запись для чего-то почти каждый день. Итак, для вашего удобства, сегодня мы напишем программу в 60 строк, которая сможет предоставить вам случайные пароли.

Цели, которые необходимо выполнить с помощью генератора паролей:

  1. Приветствуйте пользователя
  2. Спросите длину пароля
  3. Сгенерировать случайный пароль
  4. Вывести этот пароль пользователю

Для начала мы будем использовать функции из трех разных библиотек, поэтому включим их в наш код.

Давайте начнем с первого шага приветствия пользователя. Мы сделаем это внутри основной функции и объявим переменную для хранения длины пароля.

Теперь мы получим от пользователя ввод длины пароля, который он хочет.

Для генерации случайных паролей мы создадим функцию и назовем ее «пароль».

Давайте разберемся, что означает этот массив «список» и зачем он нам нужен.

Чтобы сгенерировать пароль, нам нужно место, откуда мы можем брать случайные числа, алфавиты и символы. Вот почему мы создали список массивов.

Компьютер не может сгенерировать случайное число или букву. Да, у нас есть функция rand(), но эта функция также следует определенному набору правил, которые снова и снова будут давать один и тот же результат.

Чтобы решить эту проблему, мы можем использовать «srand()».

«S» от srand() означает раздачу. Значение, заданное для начального числа, будет генерировать разные выходные данные в зависимости от значения начального числа.

Даже после присвоения значения начального числа вы обнаружите, что оно по-прежнему повторяет вывод. Для этого нам нужно придумать другой способ установить начальное значение, которое будет меняться каждый раз, когда мы запускаем программу.

Давайте немного подумаем.

Какое значение может автоматически меняться при каждом запуске программы?

Нашли ответ?

Правильно, это "ВРЕМЯ".

Время будет меняться каждый раз, когда мы запускаем программу. Именно поэтому мы будем использовать:

Теперь для генерации и печати сгенерированного пароля мы будем использовать «цикл for» и использовать массив «список», который мы создали ранее, чтобы получить случайные числа, буквы и символы из этого массива.

Приведенный выше код генерирует букву, символ или алфавит на каждой итерации, пока не будет достигнута длина пароля, введенная пользователем.

Вот и все! Вы создали генератор паролей на C.

Теперь давайте посмотрим, как это выглядит после того, как мы запустим программу.

Ниже приведена полная программа с форматированием, использованным выше:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int password(int password_length) {
char list[] = "1234567890qwertyuiopasdfghjklzxcvbnm!@#$%^&*()_- +=QWERTYUIOPASDFGHJKLZXCVBNM[]{};':\"<>,.?/\|";
printf("\t");
for(int i = 0; i < password_length; i++) {
    printf("*");
}
printf("\n");
printf("\t");
srand(time(NULL));
for(int i = 0; i < password_length; i++) {
    printf("%c", list[rand() % (sizeof list - 1)]);
}
printf("\n");
printf("\t");
for(int i = 0; i < password_length; i++) {
    printf("*");
}
printf("\n");
}
int main() {
int password_length;
printf("\n\t*********************************\n\n");
printf("\tWelcome to the password generator\n\n");
printf("\t*********************************\n");
printf("\n\tEnter length of the password = ");
scanf("%d", &password_length);
printf("\n");
printf("\n");
password(password_length);
return 0;
}