Простенький генератор паролей - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
int maxint,b,a,i,j,k;
maxint = 32767;
b=62;
a=0;
int i;
int p;
char u[10];
int main()
{
    printf ("Генератор паролей");
    char gen[64] = {'A','E','I','J','O','U','B','C','D','F','G','H','K','L','M','N','P','Q','R','S','T','V','W','X','Y','Z','a','e','i','j','o','u','b','c','d','f','g','h','k','l','m','n','p','q','r','s','t','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0'};
    for (i=1;i=10;i++) {
        for (j=0;j=7;i++) {
            p = (rand() / (maxint/ (b-a) )) + a;
            strcpy(u[j], gen[p]);
        }
        printf ("Password:");
        for (k=0;k=7;k++) {
            printf ("%s",u[k]);
        }
        printf ("\n");
    }
}
сделал вот такой простенький генератор паролей, но как всегда не работает он, может кто подсказать в чем проблема(опять наверное в чтонибудь простом )

Решение задачи: «Простенький генератор паролей»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
char * make_password(char * buf, size_t size){
    static const char symbols[] = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz_0123456789";
    char * p = buf;
    while ( size-- )
        *p++ = *(symbols + rand() % (sizeof(symbols) - 1));
    *p = '\0';
    return buf;
}
 
int main(void){
    size_t len;
 
    srand(time(NULL));
 
    printf("Enter 0 for quit.\n");
 
    while ( 1 ){
        printf("Length: ");
        if ( scanf("%u", &len) != 1 ){
            perror("scanf");
            exit(1);
        }
        if ( ! len )
            break;
        else {
            char buf[len + 1];
            printf("Password: %s\n", make_password(buf, len));
        }
    }
 
    exit(0);
}

Объяснение кода листинга программы

  1. Программа начинается с подключения необходимых библиотек: stdio.h, stdlib.h и time.h
  2. Функция make_password принимает два аргумента: буфер, в который будет записан пароль, и размер этого буфера.
  3. В функции используется статический массив символов, из которого случайным образом выбираются символы для пароля.
  4. В функции main программа запрашивает у пользователя длину пароля и сохраняет эту длину в переменной len.
  5. Если пользователь вводит ноль, программа завершается.
  6. Если пользователь вводит корректное значение длины пароля, программа создает буфер нужного размера и вызывает функцию make_password для генерации пароля.
  7. Сгенерированный пароль выводится на экран.
  8. Программа повторяет шаги 4-7 до тех пор, пока пользователь не введет ноль.
  9. В конце программы выполняется функция exit(0), завершающая работу программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы