2016-05-18 2 views
0

Во время входа в систему я извлекаю пароль из базы данных для сравнения с введенным пользователем паролем, и если сравнение выполнено успешно, я сохраняю этот пароль в переменной, используя метод Setter для дальнейшее использование в методе изменения пароля.Правильный подход для изменения пароля администратора в java

In change Метод пароля Мне нужно сравнить введенное пользователем значение для старого пароля с текущим паролем, хранящимся в базе данных. Поэтому я использую значение, хранящееся в этой переменной, используя метод getter, который был установлен во время успешного входа в систему.

Мне просто нужно знать, правильный ли этот подход или мне нужно снова вызвать базу данных для пароля во время?

+2

Если вы правильно поняли, вы храните пароли в текстовом формате. Пожалуйста, не делайте этого. Проведите некоторое исследование по теме хранения и сравнения хэшей паролей. – reto

+0

По сути, правильный подход ко всему, что связано с безопасностью, заключается в том, что ** сначала ** много читает и изучает. Вам лучше не начинать с кодирования своих наивных идей. Это не означает оскорбление; вместо этого: получение права на охрану является ** жестким **. Вам не следует писать одну строку кода, пока вы ** не ** ** не перекопаете весь предмет в течение некоторого времени. Другими словами: человек, который действительно собирается написать такой код ... не должен задавать такие вопросы. – GhostCat

+0

Нет, я храню хешированное значение пароля. – bhoomi

ответ

0

Если ваше приложение может входить в систему с другой системой с одним и тем же пользователем, тогда этот подход очень опасен, потому что после входа в систему из одной системы я могу сменить пароль с другой системы, которая не отражается при первом входе в систему, и теперь я могу смените пароль на обе системы, что неверно (если новый пароль не сохранен в переменной входа другой учетной записи). поэтому я хотел бы предложить Check from database while.

+1

Спасибо, мне полезно проверить мой код еще одним сценарием. – bhoomi

0

не храните пароль локально, просто создайте другую страницу/метод/действие, чтобы сравнить его. вы можете использовать некоторые шифровки для своего пароля, например, базовое изменение или какую-либо другую доступную библиотеку, чтобы сделать ее более безопасной, если вы их локально храните. Я предлагаю не хранить их.

Смежные вопросы