Вопрос об использовании хеширования встроенной функции md5 () в MySQL

0

У меня есть программа, в которой пользователи вводят свое username и password в 2 поля соответственно. Я храню каждый пароль в виде хэша md5 в таблице MySQL в двух строках соответственно (хотя я знаю, что это не очень безопасно). Вместо того, чтобы хэшировать пароль, когда пользователи его вводят, а затем сравнивая его с базой данных, я делаю следующее:

select * from users
where username = 'value_from_the_username_field' AND
password  = 'md5(value_from_the_pass_field)'

Я хотел бы спросить, правда ли, что пароль будет отображаться в обычном тексте через сеть, прежде чем дойти до сервера и выполнить запрос и как это может произойти? (Я не мог понять эту концепцию очень хорошо)

  • 0
    md5() устарел для хэширования паролей и не должен использоваться .
  • 0
    Если вас беспокоит передача конфиденциальной информации с веб-сайта на ваш PHP-сервер, вам следует обсудить такие вещи, как SSL / HTTPS. SSL - это то, что защищает что-то вроде простого текстового пароля при переходе с веб-страницы на сервер PHP. Нет особого смысла в том, что вы делаете сейчас, но в то же время само по себе это не должно раскрывать пароль больше, чем то, что уже происходило.
Теги:
hash
passwords
md5

1 ответ

0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню