Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кодирование паролей

1.9K
11 июля 2004 года
yack
45 / / 02.02.2004
Пожалуйста помогите:
Пользователь в браузере заполняет поле "пароль", и, затем, я бы хотел либо передать его уже закодированным в MD5 или как то еще, чтобы его нельзя было перехватиь и, чтобы не осталось следов от незакодированного пароля в log-файлах.
Так вот как это можно сделать и можно ли, а главное нужно ли - может эта проблема надуманная и с ней не стоит париться, а просто кодировать пароль на стороне сервера?
393
11 июля 2004 года
Couger
128 / / 13.04.2003
Цитата:
Originally posted by yack
Пожалуйста помогите:
Пользователь в браузере заполняет поле "пароль", и, затем, я бы хотел либо передать его уже закодированным в MD5 или как то еще, чтобы его нельзя было перехватиь и, чтобы не осталось следов от незакодированного пароля в log-файлах.
Так вот как это можно сделать и можно ли, а главное нужно ли - может эта проблема надуманная и с ней не стоит париться, а просто кодировать пароль на стороне сервера?



На мой взгляд, париться не стоит.
Или, лучший вариант, SSL.
Я на стороне сервера кодирую...
Вероятность перехвата меньше, чем взлома БД, где эти самые пароли хранятся... Тем более, до отправки формы пароль нельзя никак закодировать... Разве что, что-нибудь на JS написать, что при отправке будет кодировать, я уже так пробовал - это ненадежно, и уж с md5() никак не сравнится.

291
12 июля 2004 года
gufy
703 / / 08.01.2003
что мешает реализовать md5() на javascript? реализация rc4 здесь: http://valyala.narod.ru/ ^)
4
13 июля 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by gufy
что мешает реализовать md5() на javascript? реализация rc4 здесь: http://valyala.narod.ru/ ^)



Смысл кодировать пароль на стороне клиента?? Его перехватят закодированным, и потом таким-же закодированым передадут серверу, успешно получив доступ.

md5 на java script:
http://pajhome.org.uk/crypt/md5/

291
13 июля 2004 года
gufy
703 / / 08.01.2003
да я пошутил:) пароли не столько перехватывают, сколько БД ломают:)
кстати, ты, и мхо, не совсем прав. пересылать закодированный пароль серверу бессмысленно, ведь сервер, т.е. скрипт, будет сравнивать md5() полученного от клиента пароля с тем md5 что хранится в базе, т.е. перехват хеша пароля вряд ли поможет.
4
13 июля 2004 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by gufy
да я пошутил:) пароли не столько перехватывают, сколько БД ломают:)
кстати, ты, и мхо, не совсем прав. пересылать закодированный пароль серверу бессмысленно, ведь сервер, т.е. скрипт, будет сравнивать md5() полученного от клиента пароля с тем md5 что хранится в базе, т.е. перехват хеша пароля вряд ли поможет.



имеем базу с паролями хешироваными с помощью md5

1. пользователь вводит пароль
2. броузер строит хеш пароля
3. броузер передает хеш пароля серверу
4. хакер получает хеш пароля
5. сервер сранивает хеш значание в базе и полученое хеш знаечение и дает доступ

6. хакер отправляет перехваченый хеш пароля
7. сервер сранивает хеш значание в базе и полученое хеш знаечение от хакера и дает ему. доступ

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

291
13 июля 2004 года
gufy
703 / / 08.01.2003
mike смотри. скрипт получает переменную $pass. и сравнивает md5($pass) с тем, что хранится в базе. но если $pass - уже хеш, то md5(хеш) даст фигню. нужна точка входа в скрипт после того, как полученное от пользователя значение пароля хешируется. так?
338
18 июля 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by gufy
mike смотри. скрипт получает переменную $pass. и сравнивает md5($pass) с тем, что хранится в базе. но если $pass - уже хеш, то md5(хеш) даст фигню. нужна точка входа в скрипт после того, как полученное от пользователя значение пароля хешируется. так?


gufy, злодей :) Таким макаром никакой безопасности. Единственный вариан НЕ ПЕРЕДАВАТЬ ни пароль, ни хэш.
Я сделал так:
Генерируется случайное число на стороне клиента, клиент вволит пароль, логин и сообщение, сообщение шифруется конкатенацией пароля и случайного числа по rc4 плюс к мессаге добавляются случайные вставки и crc. Пароль сбрасывается.
На сервак открытым текстом отправляется логин, случайное число и зашифрованное сообщение. по логину выбираем пассворд, расшифровываем, добавляя случайное число и проверяем на crc. Если что не так, в /dev/null
Случайные вставки гарантируют что два одинаковых сообщения будут различаться в зашифрованном виде, а случайное число, добавляемое к паролю срывает атаку на выделение гаммы rc4.
Если сообщение нафиг не нужно, а надо пройти авторизацию, то тот же сценарий, только сообщение посылается серваком а не пользователем и по получении зашифрованного сверяется.

1.9K
19 июля 2004 года
yack
45 / / 02.02.2004
Спасибо огромное за столь активное обсуждение моего вопроса!!!!!!!!!
338
19 июля 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by yack
Спасибо огромное за столь активное обсуждение моего вопроса!!!!!!!!!



На этом вопросе не одна сотня академиков зубы стерла. ;)

6.3K
20 июля 2004 года
Silya
22 / / 27.03.2004
Цитата:
Originally posted by chigevara


На этом вопросе не одна сотня академиков зубы стерла. ;)



PASSWORD(md5($_POST['pass']))? :angel:

и тогда НА пароль перехваченый чуть чуть меньше

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог