Russian Qt Forum

Qt => Вопросы новичков => Тема начата: 3eJIeHbIu от Ноябрь 11, 2021, 15:24



Название: Авторизация в приложении
Отправлено: 3eJIeHbIu от Ноябрь 11, 2021, 15:24
Подскажите с чего начать? Необходимо реализовать простую систему авторизации в приложении Qt. Ввёл логин и пароль - вошёл, сохранил - вышел. Пришёл в к тому что мне нужна SQLite. А дальше как? Хожу вокруг да около. Пароль и логин сохраняется в таблицы? Объясните.


Название: Re: Авторизация в приложении
Отправлено: kambala от Ноябрь 11, 2021, 16:12
самое простое решение — писать их в QSettings


Название: Re: Авторизация в приложении
Отправлено: 3eJIeHbIu от Ноябрь 11, 2021, 16:21
Сторонний пользователь имеет возможность прочесть файл с паролем.


Название: Re: Авторизация в приложении
Отправлено: Apktyc от Ноябрь 11, 2021, 16:36
Сторонний пользователь имеет возможность прочесть файл с паролем.
Храните хэш (https://doc.qt.io/qt-5/qcryptographichash.html (https://doc.qt.io/qt-5/qcryptographichash.html))


Название: Re: Авторизация в приложении
Отправлено: 3eJIeHbIu от Ноябрь 11, 2021, 16:50
Иными словами, хэшировать настройки приложения qsettings ещё проще чем использовать sqlite?


Название: Re: Авторизация в приложении
Отправлено: kambala от Ноябрь 11, 2021, 17:03
сохранять хэшированный пароль, конечно же, и сравнивать хэши при попытке авторизации. сами настройки хэшировать не надо.


Название: Re: Авторизация в приложении
Отправлено: 3eJIeHbIu от Ноябрь 11, 2021, 17:11
Я это и имел ввиду  :) . Этот подход проще чем использовать бд?


Название: Re: Авторизация в приложении
Отправлено: kambala от Ноябрь 11, 2021, 21:31
намного.

сторонний пользователь тоже может прочесть бд, пароли в нее тоже писать надо хэшированными.


Название: Re: Авторизация в приложении
Отправлено: juvf от Ноябрь 15, 2021, 08:51
Подскажите с чего начать? Необходимо реализовать простую систему авторизации в приложении Qt. Ввёл логин и пароль - вошёл, сохранил - вышел. Пришёл в к тому что мне нужна SQLite. А дальше как? Хожу вокруг да около. Пароль и логин сохраняется в таблицы? Объясните.

ps Пароли ни когда ни где не хранятся. Ни открытые, ни зашифрованные, ни в БД, ни в сеттингах. Хранятся только хэши паролей. Если вы забудете например пароль linux, то даже обладая правами суперпользователя вы его не восстановите и ни где не посмотрите. Вы только сможете его сбросить и назначить новый. Если вы в онлайн-банке/почте/магазине/др.сервисе забудете пароль, вам его ни кто не "вспомнит", не покажет и не восстановит, даже если вы прийдёте в банк с паспортом. Админ, в лучшем случае, сбросит старый пароль и назначит новый (или вам даст возможность назначить новый). Это сделано для того, чтобы без вас на ваш акаунт не было доступа даже у сотрудников банка администратора сервиса.


Название: Re: Авторизация в приложении
Отправлено: RedDog от Ноябрь 20, 2021, 22:38
Если вы в онлайн-банке/почте/магазине/др.сервисе забудете пароль, вам его ни кто не "вспомнит", не покажет и не восстановит, даже если вы прийдёте в банк с паспортом. Админ, в лучшем случае, сбросит старый пароль и назначит новый (или вам даст возможность назначить новый). Это сделано для того, чтобы без вас на ваш акаунт не было доступа даже у сотрудников банка администратора сервиса.
Ха-ха, попробуйте зайти в сбер, введя свой пароль в любом регистре. Уверяю, это получится.


Название: Re: Авторизация в приложении
Отправлено: tux от Ноябрь 21, 2021, 11:52
Ха-ха, попробуйте зайти в сбер, введя свой пароль в любом регистре. Уверяю, это получится.
Сбер - это изменённое название "сберегательной кассы советского союза". Только вывеску сменили  ;D
Им на деньги клиентов было всегда плевать. Хоть в СССР, хоть сейчас.

А так, да - надо хранить хэш. Если паранойя шибко заест, можно солью посыпать.


Название: Re: Авторизация в приложении
Отправлено: juvf от Ноябрь 24, 2021, 08:35
Ха-ха, попробуйте зайти в сбер, введя свой пароль в любом регистре. Уверяю, это получится.
И? Сотрудник банка может где-нить у себя на сервере посмотреть ваш пароль? Пароль не пробовал, а вот логин да - СБ не различает регистры. Но какая разница - различает веб страница у СБ регистр в пароле/логине или нет?  Это не значит, что они хранят пароли в открытом виде.