Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2009, 13:33   #1
Flippp
Пользователь
 
Регистрация: 05.03.2009
Сообщений: 62
По умолчанию Проверка пароля помогите!!!

есть программа:


Код:
#include <stdio.h>
#include <string.h>
main(){
       char name[21];
       char password[100];
       long int pasw;
       printf("Enter your login:");
       gets(name);
       printf("Enter password:");
       gets(password);
       pasw = 0;
       pasw = strlen(name);
       pasw = pasw * 32 - 25 + 54*41231;
Надо чтобы была проверка пароля с генерируемым ключом,
т.е если я ввожу имя, для этого имени генирируется ключ если правильно ввел то...,если нет то нет.
никак не пойму как это сделать.

Последний раз редактировалось Sazary; 23.06.2009 в 13:38.
Flippp вне форума Ответить с цитированием
Старый 23.06.2009, 13:43   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

А с чем помочь-то?
Цитата:
Сообщение от Flippp
для этого имени генирируется ключ если правильно ввел то...,если нет то нет.
Код:
if(pasw==truePass) ...
else ...
Цитата:
т.е если я ввожу имя, для этого имени генирируется ключ
.........
никак не пойму как это сделать.
Ну так вон у вас что-то генерируется:
Код:
pasw = strlen(name);
pasw = pasw * 32 - 25 + 54*41231;
примитивно, конечно, но, все-таки, есть.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.06.2009, 13:58   #3
Flippp
Пользователь
 
Регистрация: 05.03.2009
Сообщений: 62
По умолчанию

Код:
if(pasw==truePass) ...
else ...
Вы наверн не поняли
Я имел ввиду когда вводиш имя для него генерируется ключ
алгоритм такой

pasw = strlen(name);
pasw = pasw * 32 - 25 + 54*41231;

т.е каждый раз ключ получается разный ,в зависимости от имени.
мне же надо сравнить генерируемый ключ с тем ключом который я ввел.
Когда я копилирую он мне выдает такую ошибку
incompatible types in assignment of `long int' to `char[32]'
Flippp вне форума Ответить с цитированием
Старый 23.06.2009, 14:05   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
мне же надо сравнить генерируемый ключ с тем ключом который я ввел.
Когда я копилирую он мне выдает такую ошибку
incompatible types in assignment of `long int' to `char[32]'
То есть, с переменной password? Ну так измените ее тип на long. Сейчас она у вас является строкой.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.06.2009, 14:17   #5
Flippp
Пользователь
 
Регистрация: 05.03.2009
Сообщений: 62
По умолчанию

#include <stdio.h>
#include <string.h>
main(){
char name[21];
char password[100];
long int pasw;
printf("Enter your login:");
gets(name);
printf("Enter password:");
gets(password);
pasw = 0;
pasw = strlen(name);
pasw = pasw * 32 - 25 + 54*41231;
if(password==pasw) \\ тут ошибка возникает
printf("Good job!");
else
printf("bad!");
}

Вообшем вот когда компилирую мне выдает тер такую ошибку
ISO C++ forbids comparison between pointer and integer.

Последний раз редактировалось Flippp; 23.06.2009 в 14:20.
Flippp вне форума Ответить с цитированием
Старый 23.06.2009, 14:22   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Говорю же: измените тип переменной password. Вы пытаетесь сравнить число со строкой.
Код:
#include <stdio.h>
#include <string.h>
main(){
char name[21];
long int password;
long int pasw;
printf("Enter your login:");
gets(name);
printf("Enter password:");
scanf("%ld",&password);
pasw = 0;
pasw = strlen(name);
pasw = pasw * 32 - 25 + 54*41231;
if(password==pasw)
printf("Good job!");
else
printf("bad!");
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.06.2009, 14:24   #7
Flippp
Пользователь
 
Регистрация: 05.03.2009
Сообщений: 62
По умолчанию

Спасибо большое!!!!!
Flippp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование пароля! DeToxic Помощь студентам 5 29.03.2009 19:41
проверка пароля, защита от взлома ben95 Общие вопросы Delphi 9 05.03.2009 09:10
Проверка пароля Vladya Помощь студентам 1 20.12.2008 21:13
проверка пароля <-=SG=-> Общие вопросы Delphi 4 04.11.2008 19:44
подбор пароля L_M Безопасность, Шифрование 0 24.09.2008 21:43