Я думаю о повышении безопасности при переносе логина и пароля со страницы входа. Я нашел в Интернете функцию javascript md5, поэтому первый способ отправить пароль - отправить хэш md5 вместо пароля с использованием метода POST. Насколько я понимаю, с этим еще много проблем, и этот метод следует улучшить. Пароли в БД не хранятся, хранится только md5 хеш (с некоторыми другими функциями тоже используются, чтобы немного усложнить). Но у меня вопрос: есть ли смысл или лучше предпочесть ssl-шифрование от хостинг-провайдера? Это стоит около 100 долларов в год (предположим, что это хорошая цена по моему вопросу) вместо того, чтобы изобретать велосипед. Минус ssl (если я не ошибаюсь): если часть входа находится на главной странице, то главная страница будет загружаться медленнее (хотя страница входа Yahoo! с https загружается довольно быстро) и любой пользователь увидит https в браузере строка (это неплохо, но хорошо ли?)
Как идея использовать (без SSL): 1) когда пользователь входит в систему, вместо его реального пароля отправляется md5 (пароль) 2) сервер получает md5 (пароль), делает его md5 (md5 (пароль) + 'kjhgkjhg' ) и сравнивается с хешем, хранящимся в БД. db хранит хэши md5(md5(пароль)+'kjhgkjhg') для всех пользователей. В результате, если md5(пароль) перехвачен, получить md5(md5(пароль)+'kjhgkjhg') не получится, так как 'kjhgkjhg' неизвестно. Это достаточно хороший способ сделать страницу входа защищенной?
Спасибо.
md5
, он считается слишком слабым для хеширования паролей. - person Jared Farrish   schedule 26.11.2011