Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизПодскажите, как лучше закодировать информацию? Найти похожие ветки
← →
nick_mas © (2004-07-24 04:20) [0]Подскажите, пожалуйста, как лучше закодировать информацию? Собираюсь хранить пароли в БД, но так, чтобы они не просматривались через Data Desktop или ему подобные. Как это лучше сделать?
← →
y-soft © (2004-07-24 07:30) [1]Храните не пароли, а их хеши.
При использовании хешируйте пароли по тому же алгоритму и сравнивайте со значениями в базе
← →
nick_mas © (2004-07-24 18:19) [2]Т.е. что за хеши...? Можно чуть по подробнее.
← →
Fay © (2004-07-24 18:34) [3]Подробнее уже некуда. Ты знаешь, что такое хеш, пароль и оператор сравнения?
← →
VMcL © (2004-07-24 20:04) [4]>>nick_mas © (24.07.04 04:20)
MD4, MD5, например. Есть и другие.
← →
VMcL © (2004-07-24 20:06) [5]>>Fay © (24.07.04 18:34) [3]
>Ты знаешь, что такое хеш...
Для любителей язвить цитирую: "Т.е. что за хеши...?"
← →
y-soft © (2004-07-24 20:06) [6]>nick_mas © (24.07.04 18:19) [2]
Т.е. что за хеши...? Можно чуть по подробнее.
Хеш - это вычисляемое из пароля по какому-то известному алгоритму значение, из которого восстановить каким-либо путем снова пароль невозможно. И подобрать очень трудно...
Таких алгоритмов существует множество: DESX, MD4, MD5, MD6, RipeMD160, Tiger и т.д.
← →
Anatoly Podgoretsky © (2004-07-24 20:10) [7]Database Desktop показывает все поля кроме мемо
И как тебе уже сказали не храни пароли зараза, по крайней мере мои, я против.
← →
y-soft © (2004-07-24 20:16) [8]>nick_mas © (24.07.04 18:19) [2]
Да, икому не говорите, каким алгоритмом пользуетесь, а то враги могут просто перезаписать хеш в базе известным им значением...
И хешируйте на просто пароль, а его комбинацию с каким-нибудь уникальным для пользователя идентификатором, чтобы одинаковым паролям не соотвествовали одинаковые хеши :)
← →
Anatoly Podgoretsky © (2004-07-24 20:26) [9]Интересно если одинаковым паролям не будет соответвовать одинаковый хеш, то как же с такой системой работать? По генератору случайных чисел определять верность :-)
← →
y-soft © (2004-07-24 20:33) [10]>Anatoly Podgoretsky © (24.07.04 20:26) [9]
Все гораздо проще. Например, пользователю Anatoly Podgoretsky соответствует пароль "Анатолий". Записывается в базу хеш от строки "Anatoly Podgoretsky+Анатолий".
При проверке пользователь выбирает свой логин из списка и вводит пароль. Программа проверки формирует из логина и введенного пароля строку, хеширует ее и сравнивает со значением, записанным в базу для данного логина.
Обычно алгоритм делают сложнее...
← →
Anatoly Podgoretsky © (2004-07-24 20:39) [11]Про алгоритмы не надо, давай про хэш, почему в следующий раз для строковой последовательности "Anatoly Podgoretsky+Анатолий" должен получиться другой?
← →
y-soft © (2004-07-24 20:40) [12]Продолжение
Приведенный пример специально упрощен для большей наглядности - вместо логина обычно для формирования контрольной строки берут значение первичного ключа таблицы. А т.к. значение первичного ключа по определению уникально, то для одинаковых паролей разных пользователей всегда будут вычисляться разные хеши...
И никаких проблем при идентификации не возникнет
← →
Anatoly Podgoretsky © (2004-07-24 20:42) [13]Совпадение для разных пользователей не имеет значения или ты предлагаешь проверячть пароль для всех пользователей, вдруг подойдет, тогда будем работать под этим пользователем.
← →
y-soft © (2004-07-24 20:46) [14]Anatoly Podgoretsky © (24.07.04 20:42) [13]
Если известен пароль пользователя А и его хеш, то без дополнительной привязки достаточно перезаписать этот хеш в поле пароля любого другого пользователя и спокойно заходить под его именем. А с дополнительной привязкой - облом :)
← →
Anatoly Podgoretsky © (2004-07-24 20:51) [15]Тебе это только кажется, но вернемся к твоему утверждению, насчет разных кешей, почему при одинаковой хешируемой последовательности символов мы должны получать разный хеш, и как с этим потом работать, может тогда проще генерировать этот хеш генератором случайных чисел. Результат будет соответствовать.
← →
y-soft © (2004-07-24 21:00) [16]Anatoly Podgoretsky © (24.07.04 20:51) [15]
Это лишь один из возможных способов, не мной, кстати, придуманный. Есть способы и с генератором случайных чисел, и с дополнительными подтверждениями, и еще много чего...
Судя по твоему последнему посту, ты почему-то не вникаешь в высказанную мысль :(
Речь не о том, что для одинаковых хешируемых последовательностей будут якобы получаться разные хеши (естественно одинаковые), а о том, что для одинаковых паролей разных пользователей хеши будут разные. И не более того.
Понятно, что подразумевается при авторизации использование не только пароля, но и известного программе уникального значения для конкретного пользователя...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.032 c