Форум программистов, компьютерный форум CyberForum.ru

Авторизация в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Невозможно преобразовать http://www.cyberforum.ru/cpp-beginners/thread973537.html
Как пофиксить?
C++ Файл *.exe Написал проект, в папке Debug есть файл *.exe Если его запустить из этой папки, то говорит, что файлов не хватает, а если скинуть в корневую директорию проекта, то все нормально. Может, можно как-то собрать проект (C++ на VS12) в один экзешник, либо сделать, чтоб из папки Debug этот файл запускался (использую сторонние библиотеки, которые лежат в папке с проектом)? http://www.cyberforum.ru/cpp-beginners/thread973530.html
C++ Генерация случайных чисел
Для генерации случайных чисел использую выражение: x = rand() % 4; Библиотеку <cstdlib> компилятор подключать не требует (VS12). Не пойму, почему при каждом новом запуске генерируется одно и то-же "случайное число" из заданного интервала?
Задание границ параллельных главной и побочной диагонали! C++
По матрице А построить матрицу В того же размера, где bij определя- ется следующим образом. Через aij проведем в A диагонали, параллельные главной и побочной диагоналям; bij определяется как максимум в закрашен- ной части матрицы А. Вопрос нужно постоянно двигать параллельные диагонали тем самым расширяя границы треугольника для нахождения максимального элемента и менять его местами с...
C++ Определите количество факториалов и попытайтесь доказать неправильность предположения http://www.cyberforum.ru/cpp-beginners/thread973513.html
Доброго времени суток. Прошу помощи в написание кода. По гипотезе Симона только четыре факториала могут быть определены как произведение трех последовательных чисел. Вот два из них : 4!= 2*3*4 = 24; 5!= 4*5*6. Найдите еще два факториала. Определите количество таких факториалов и попытайтесь доказать неправильность предположения, что их только четыре.
C++ Отмена создания объекта при неверных аргументах Всем привет! Как можно проверить инициализирующие параметры на ошибочность и при ошибке отменить создание объекта? class Person { string name; public: Person(string n) { name = n } подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.10.2013, 14:18     Авторизация в С++
Цитата Сообщение от SatanaXIII Посмотреть сообщение
к сожалению нету таких.
(см. первое правило криптографии)
Как это нету, я читал за шифрование еще когда пхп учил, там бывает два вида шифрования обратимое и не обратимое, например md5 это необратимое шифрование, получившийся хешь уже нельзя расшифровать. И есть обратимое, когда данные шифруются и заново хешь можно расшифровать. Для паролей как правило используют необратимое шифрование.
Цитата Сообщение от SatanaXIII Посмотреть сообщение
А в каком виде? Если можно простенький пример или ссылку на сам механизм.
P.S. Вот нашел забавную статейку про "подсаливание хэшей": Как лучше хранить хэши паролей.
Ну как в каком виде? Просто в виде строки, эта строку пофигу куда ты запишешь, где хочешь там ее и хрони, хочешь в БД храни, хочешь в текстовый файл пиши. Ну в принципе тебе нужно что бы определить какой хешь принадлижит юзеру, хронить идентификатор юзера, или полностью строку запиши имя юзера и через пробел хешь сохранил, и так весь текстовый файл,. Для примера пофигу где он сохранить, а вообще нужно если в файле по аналогии с БД создать первичные ключ, что бы привязывать все данные пользователя к этому ключу, когда он авторизуется выдавать ему по этому ключу данные, ну например файл с паролями хронятся данные в виде:
1 / ninja2 / ksadjflsadjdlfsdfasdfjksadjfaksdjfladskjflkasdjflkasdjflksadjlfjasd
2 / ForEveR / sadkfjsdlfjlsadkjflksadjflkasdjflkadsjflksadjlkfjsadlkfjsadklfjlsajf
3 / Satana XIII / ksdfjlsakjflksajdfkljsadlkfjsadkjfksadjflksdjlkfjsadlkfjkasdjflsdf

А данные пользователей хронятся в другом файле например файл user_data.txt
1 / Гуру С++ / Харьков / 1
2 / moderator / город / 3
3/ moderator / / 2

Примерно так, при аторизации мы вытягиваем с первого файла (таблицы) идентификатор (первичный ключь) и допустим записываем в флаг который показывает что пользователь авторизован, а в фале user_data.txt мы уже ищем запись которая соответствует флагу, от если у нас идентификатор будет 3, то из файла мы должны вырвать строку 2 / modrator / город / 3, тут последний столбец это вторичный ключь, типо базы данных.

SatanaXIII, это отак примерно все должно работать, это принцип, а там уже какую разновидность программы создашь.

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

Ладно разбирайся это тебе не просто так, в двух словах не расскажешь, это целая тема, это я так просто убогий примерчик привел, что бы понятно было примерно как все работает.
 
Текущее время: 22:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru