Показать сообщение отдельно
Старый 27.06.2010, 10:46 Вверх   #2
Старший модератор
 
Аватар для Ghost
Ghost вне форума
Доп. информация
По умолчанию

sertaras, пароль храниться в бд в виде хэша и ты врядли сможешь его расшифровать.Да я сомневаюсь что тот админ зарегился у тебя на форуме с данными которые он использует для входа к себе в админку.
Что тебе посоветовать,просто усиль защиту ,а его забань и все.

Нажми для просмотра
Почему

md5() нельзя расшифровать, так как он ничего не шифрует. Он хеширует. Термина "расхешировать" нет.

Хеширование, это преобразование данных произвольного размера в короткую строку (или число) фиксированной длины. Для алгоритма md5 результатом является 32-разрядное 16-ричное число (называемое хешем или дайджестом).

Немного разбираясь в математике, можно сообразить: множество входных значений (строка произвольного размера), практически бесконечно, в то время как количество возможных результатов, представляет собой вполне конечное число – 1632. Следовательно, взаимнооднозначного соответствия между двумя множествами быть не может. Следовательно, зная результирующий хеш, получить исходную строку невозможно, т.к. для одного хеша возможных исходных строк может быть любое количество.

Изначальная задача md5, вообще, ни к хранению паролей, ни к web-программированию не относится. md5 вычисляет контрольные суммы. Например, при передаче большого файла по каналу связи, где возможны ошибки, вместе с ним можно передать его md5-хеш, после чего приемник так же может вычислить хеш полученных данных и сравнить с пришедшим, чтобы удостовериться, что сбоев при передаче не произошло. Либо, вы можете распространять свою программу и выложить у себя на сайте хеш её архива. И пользователь, получивший её из других источников, может проверить, а не залезал ли в неё злой хакер и не прицепил ли в конце какой-нибудь вирус. Одно из свойств md5-алгоритма – значительное отличие хеша, даже при незначительных изменениях во входных данных.


Хеширование паролей

Пароли пользователей обычно хранятся в базе или в файле. Хранить их можно и просто в открытом виде. Однако это является некоторой дырой в безопасности. Т.к. злоумышленник, получивший доступ только для чтения к этой базе, может взломать систему. Случай, когда он получает доступ еще и на запись, не рассматриваем, т.к. никакой md5() здесь уже не поможет.

Вообще-то, дыра в безопасности не в этом. При настройке БД вменяемым администратором, никто посторонний доступа получить не должен. Однако народ у нас администраторам не доверяет и пароли в базе шифрует. Т.е. в большинстве случаев, как уже выяснили, не шифрует, а хеширует.

В большинстве случаев это выглядит следующим образом:
1. При регистрации пользователя, введенный им пароль хешируется. В простейшем случае просто md5($password). И именно хеш заносится в базу. Исходный пароль не сохраняется нигде.
2. При авторизации пользователь вводит пароль, который отправляется на сервер. На сервере он так же хешируется и сравнивается с хешем в базе. Т.е. не хеш из базы преобразуется к нормальному виду, а наоборот.
  Ответить с цитированием
Cказали cпасибо:
 
Время генерации страницы 0.04177 секунды с 10 запросами