Russian Qt Forum
Ноябрь 24, 2024, 13:42
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Нужна помощь
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Нужна помощь (Прочитано 4909 раз)
vladislav4k
Гость
Нужна помощь
«
:
Июль 09, 2012, 00:19 »
Здравствуйте, сразу начну: создал приложение где есть 2 поля ввода(логин и пароль) и 2 кнопки(вход, регистрация), когда жмем регистрация, выскакивает окошко в котором вводим имя, логин, пароль, после ввода жмем кнопку "Зарегистрироваться". Имя, хеш логина и хеш пароля сохраняются в тхт файле в директории с программой. При вводе логина и пароля (в основном окне), которые были указаны при регистрации, програма хеширует их и сравнивает с хешами в файле, если подхотят - пишет что удачно.
Но проблема в том, что любой может создать файл, поместить туда хеши(которые сгенерировал в нете) и войти в программу.
Куда сохранять эти файлы чтоб нельзя было из вне создать еще один. Возможно регистр, или что то другое. Или возможно подскажете другую систему рега - вход на локалке. Буду очень благодарен.
Записан
Bepec
Гость
Re: Нужна помощь
«
Ответ #1 :
Июль 09, 2012, 06:47 »
Кхм. Мб проще шифровать свой файлик, а?
PS идея о "хеше в тхт" это верх безалаберности
Записан
sidsukana
Гость
Re: Нужна помощь
«
Ответ #2 :
Июль 09, 2012, 06:57 »
Как бы если речь идет регистрации, сессиях и тд. То тут по умолчанию должен существовать сервер, соединенный с базой данных и общающийся с клиентом по сокету.
Записан
Serr500
Гость
Re: Нужна помощь
«
Ответ #3 :
Июль 09, 2012, 07:53 »
Можно прятать в файловых потоках NTFS. Мало кто догадается. Да и как их редактировать простой юзер не допрёт. Недостаток - будет работать только на NTFS. Но лучше, конечно, шифровать. А чтобы хэш нельзя было тупо вычислить, используйте "солёный". Соль прячьте в код бинарника.
Записан
vladislav4k
Гость
Re: Нужна помощь
«
Ответ #4 :
Июль 09, 2012, 10:09 »
Цитата: Bepec от Июль 09, 2012, 06:47
Кхм. Мб проще шифровать свой файлик, а?
PS идея о "хеше в тхт" это верх безалаберности
Можно по подробней о шифрование файлов в qt?
Цитата: Serr500 от Июль 09, 2012, 07:53
Можно прятать в файловых потоках NTFS. Мало кто догадается. Да и как их редактировать простой юзер не допрёт. Недостаток - будет работать только на NTFS. Но лучше, конечно, шифровать. А чтобы хэш нельзя было тупо вычислить, используйте "солёный". Соль прячьте в код бинарника.
Просьба объяснить как для начинающего, буду благодарен
Записан
Bepec
Гость
Re: Нужна помощь
«
Ответ #5 :
Июль 09, 2012, 10:14 »
Шифрование в qt такое же как и шифрование в С++. Погугли - библиотек и алгоритмов сотни.
Записан
Serr500
Гость
Re: Нужна помощь
«
Ответ #6 :
Июль 09, 2012, 10:40 »
Цитата: vladislav4k от Июль 09, 2012, 10:09
Просьба объяснить как для начинающего, буду благодарен
Да там всё очевидно.
Файловые потоки NTFS:
http://hex.pp.ua/using-alternate-data-streams.php
. Если кратко, то вместо Filename.ext используется Filename.ext:Streamname. Не проверял, жрёт ли такие имена класс QFile, но в любом случае собственная реализация даже на основе WinAPI будет элементарной. Нужно знать всего лишь четыре функции - CreateFile, ReadFile(Ex), WriteFile(Ex), CloseHandle.
"Солёный хэш" еще проще. Вместо хэша пароля Password (например, md5) вычисляется хэш строки Salt + Password, Password + Salt или ещё что посложнее типа md5(md5(Salt) + md5(Password)). Подробнее -
http://www.xakep.ru/post/40336/
. Если соль неизвестна, злоумышленник не сможет подсунуть в файл паролей свой хэш.
Записан
_OLEGator_
Гость
Re: Нужна помощь
«
Ответ #7 :
Июль 09, 2012, 11:42 »
Создавать не просто хеш логина и пароля, а привязывать их к компу (жд, материнка и т.п.), написав свою функцию генерации строки и при входе заново ее генерировать и сравнивать с уже имеющейся.
Записан
vladislav4k
Гость
Re: Нужна помощь
«
Ответ #8 :
Июль 09, 2012, 18:19 »
Спасибо за полезные советы
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...