Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Подскажите, как лучше закодировать информацию?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.028 c
6-1086697837
Григорьев Антон
2004-06-08 16:30
2004.08.08
Вопрос по версиям WinSock


14-1090610914
Opilki_Inside
2004-07-23 23:28
2004.08.08
В эту субботу поезд....


6-1086558721
Prankster.
2004-06-07 01:52
2004.08.08
Как получить доменное имя по IP


4-1088251384
Uran
2004-06-26 16:03
2004.08.08
Как узнать параметры командной строки у консольного приложения


1-1090619927
Katleta
2004-07-24 01:58
2004.08.08
Как из WinZip a прочитать файл !