И что? Я ведь должен записать куда-то сгенерированную соль, чтобы потом авторизовать пользователя. Если соль не сохранять, то потом невозможно будет сверить пароль.
Вопрос: где хранить соль? В базе? Тогда смысл...
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
Denkill
Отправлено: 07 Июля, 2013 - 13:17:22
Посетитель
Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013 Откуда: Барнаул
Помог: 7 раз(а)
Соль ставишь статистическую типо $salt = "salt";
P.S ну понимаешь что salt слишком просто
----- Хо-Хо-Хо
Hapson
Отправлено: 07 Июля, 2013 - 13:21:11
Посетитель
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
Denkill пишет:
Соль ставишь статистическую типо $salt = "salt";
P.S ну понимаешь что salt слишком просто
Ну это понятно. Но эту переменную тоже нужно где-то сохранить. Где?
Там же где и проходит хеширование?
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
Denkill
Отправлено: 07 Июля, 2013 - 13:22:20
Посетитель
Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013 Откуда: Барнаул
Помог: 7 раз(а)
Лучше конечно хранит в отдельном файле (что бы было легче менять)
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Denkill пишет:
Соль ставишь статистическую типо $salt = "salt";
Необязательно.
Некоторые системы (например Joomla, а ее думаю не дураки писали?) хранят соль в базе, причем соль для каждого юзера уникальная.
----- Чем больше узнаю, тем больше я не знаю.
Hapson
Отправлено: 07 Июля, 2013 - 13:36:32
Посетитель
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
Denkill пишет:
Лучше конечно хранит в отдельном файле (что бы было легче менять)
А при шифровки и расшифровки инклудить этот файл.
А зачем ее менять?
Если к примеру зарегистрировался пользователь User с паролем password и я его пароль зашифровал с солью salt, то я должен хранить эту соль пока активен User. (Добавление)
DelphinPRO пишет:
Denkill пишет:
Соль ставишь статистическую типо $salt = "salt";
Необязательно.
Некоторые системы (например Joomla, а ее думаю не дураки писали?) хранят соль в базе, причем соль для каждого юзера уникальная.
Вот и я о том же.
Соль-то для чего нужна? Если ломанули БД,то без соли пароли не расшифруют(наверно...). А если соль в БД лежит, и пусть даже уникальная для каждого пользователя, то в чем ее смысл?
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
vanicon
Отправлено: 07 Июля, 2013 - 13:51:36
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Hapson
Она не обязательно лежит в бд, она может находиться и на другом сервере который умел бы хешировать или отдавать соль...
Да и хеширование это зашита данных бд, а если и приложение хакнули то тут защита куда серьезнее нужна...
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Hapson пишет:
Соль-то для чего нужна? Если ломанули БД,то без соли пароли не расшифруют(наверно...).
нет, суть в том что md5 можно подобрать только перебором по базе. Пароль 123456 подобрать очень легко т.к. он есть в любой базе по подбору, а вот 123456salt уже намного сложнее. Даже если взломщик узнает эту соль она ему никак не поможет.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
vanicon
Отправлено: 07 Июля, 2013 - 14:04:00
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
OrmaJever пишет:
Даже если взломщик узнает эту соль она ему никак не поможет.
А это еще почему?
Если я знаю алгоритм и соль в чем проблема?
----- Так было, так есть и так будет
Champion
Отправлено: 07 Июля, 2013 - 14:07:02
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Hapson, md5 имеет такое свойство, что во-первых из хеша невозможно вычислить исходное значение (только подобрать). Во-вторых, изменение входных данных ведет к непредсказуемому изменению на выходе. Соль - это как раз такое изменение данных на входе.
Соль, состящая из всякого бессмысленного набора символов с большой вероятностью делает хеш не словарным. И не важно - знаем мы соль или нет, нам это мало поможет.
EuGen
Отправлено: 07 Июля, 2013 - 14:07:04
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Если вы знаете значение md5('foo'), в силу способа вычисления MD5 можно очень легко посчитать значение md5('foobar'), даже не зная префикса 'foo'.
Так что если вы знаете значение md5('secretfoo:bar'), можно легко вычислить значение md5('secretfoo:bar&bar:baz'), даже не зная префикса 'secret'.
- иными словами, соль не спасёт от атаки по словарю, если есть база хешей (например, случай, когда взломали БД). Но вот сложные пароли не пострадают.
Почитайте ещё - много интересного.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
OrmaJever
Отправлено: 07 Июля, 2013 - 14:22:20
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
EuGen пишет:
Если вы знаете значение md5('foo'), в силу способа вычисления MD5 можно очень легко посчитать значение md5('foobar'), даже не зная префикса 'foo'.
Так что если вы знаете значение md5('secretfoo:bar'), можно легко вычислить значение md5('secretfoo:bar&bar:baz'), даже не зная префикса 'secret'.
Вопрос в том, как? Я не совсем это понимаю.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Hapson
Отправлено: 07 Июля, 2013 - 14:23:16
Посетитель
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
Всем спасибо, буду читать.
Ну в общих чертах, как я понял, можно использовать приведенный мною пример и сохранять сгенерированную соль в базе рядом с паролем пользователя.
Правильно?
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
vanicon
Отправлено: 07 Июля, 2013 - 14:25:54
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Hapson
Зачем сохранять соль в бд?
Храните ее просто в php скрипте, разницы нет, что бд вскроют или же приложение...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.