Russian Qt Forum
Ноябрь 24, 2024, 13:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужна помощь  (Прочитано 4909 раз)
vladislav4k
Гость
« : Июль 09, 2012, 00:19 »

Здравствуйте, сразу начну: создал приложение где есть 2 поля ввода(логин и пароль) и 2 кнопки(вход, регистрация), когда жмем регистрация, выскакивает окошко в котором вводим имя, логин, пароль, после ввода жмем кнопку "Зарегистрироваться". Имя, хеш логина и хеш пароля сохраняются в тхт файле в директории с программой. При вводе логина и пароля (в основном окне), которые были указаны при регистрации, програма хеширует их и сравнивает с хешами в файле, если подхотят - пишет что удачно.
Но проблема в том, что любой может создать файл, поместить туда хеши(которые сгенерировал в нете) и войти в программу.
Куда сохранять эти файлы чтоб нельзя было из вне создать еще один. Возможно регистр, или что то другое. Или возможно подскажете другую систему рега - вход на локалке. Буду очень благодарен.
Записан
Bepec
Гость
« Ответ #1 : Июль 09, 2012, 06:47 »

Кхм. Мб проще шифровать свой файлик, а? Улыбающийся

PS идея о "хеше в тхт" это верх безалаберности Веселый
Записан
sidsukana
Гость
« Ответ #2 : Июль 09, 2012, 06:57 »

Как бы если речь идет регистрации, сессиях и тд. То тут по умолчанию должен существовать сервер, соединенный с базой данных и общающийся с клиентом по сокету.
Записан
Serr500
Гость
« Ответ #3 : Июль 09, 2012, 07:53 »

Можно прятать в файловых потоках NTFS. Мало кто догадается. Да и как их редактировать простой юзер не допрёт. Недостаток - будет работать только на NTFS. Но лучше, конечно, шифровать. А чтобы хэш нельзя было тупо вычислить, используйте "солёный". Соль прячьте в код бинарника.
Записан
vladislav4k
Гость
« Ответ #4 : Июль 09, 2012, 10:09 »

Кхм. Мб проще шифровать свой файлик, а? Улыбающийся

PS идея о "хеше в тхт" это верх безалаберности Веселый
Можно по подробней о шифрование файлов в qt?

Можно прятать в файловых потоках NTFS. Мало кто догадается. Да и как их редактировать простой юзер не допрёт. Недостаток - будет работать только на NTFS. Но лучше, конечно, шифровать. А чтобы хэш нельзя было тупо вычислить, используйте "солёный". Соль прячьте в код бинарника.
Просьба объяснить как для начинающего, буду благодарен
Записан
Bepec
Гость
« Ответ #5 : Июль 09, 2012, 10:14 »

Шифрование в qt такое же как и шифрование в С++. Погугли - библиотек и алгоритмов сотни.
Записан
Serr500
Гость
« Ответ #6 : Июль 09, 2012, 10:40 »

Просьба объяснить как для начинающего, буду благодарен

Да там всё очевидно.
Файловые потоки 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_
Гость
« Ответ #7 : Июль 09, 2012, 11:42 »

Создавать не просто хеш логина и пароля, а привязывать их к компу (жд, материнка и т.п.), написав свою функцию генерации строки и при входе заново ее генерировать и сравнивать с уже имеющейся.
Записан
vladislav4k
Гость
« Ответ #8 : Июль 09, 2012, 18:19 »

Спасибо за полезные советы
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 20.