Главная    Реклама    О блоге

Хеширование паролей в php и обрезание крайней плоти в США

14.01.2009 от Андрей Зарубин

Сайты бывают весьма разные. Я это знал и раньше, но теперь понял, что сайты бывают ОЧЕНЬ ВЕСЬМА РАЗНЫЕ. Я написал очень весьма, не потому что я безграмотная скотина, нет. Это дабы подчеркнуть степень этой самой разности. Взять, к примеру, сайты для турагентств. Это же целый жанр в сайтостроении.

Нет в самом деле, мы сейчас делаем сайт для турагенства Вояж и я понимаю теперь, что такое СУБД на самом деле. Родительские и дочерние таблицы и так далее. Ахереть просто. Но с другой стороны в этом есть позитив, ведь склепав сайт для турагенства, можно уже предлагать его другим турагенствам, причем процесс разработки сократится до минимума (имеется в виду собственный движок). Так, имея движок для турагентств, тех же агентств недвиджимости и так далее, можно замутить нечто вроде субдомена demo.домен_студии/шаблон_сайта и показывать это клиенту. Я уже писал об этой идее, интересно использует ли кто-то такой подход?

Столкнулся вот с продвинутым хешированием паролей в php. Ну то есть стандартная ситуация, когда надо сохранить пароль в БД в виде хеша, но не md5, так как его нетрудно сломать. Нашел на php.net вот такое решение:

Хешируется методом sha1 с использованием salt. Если есть среди читателей умные php программеры, скажите какие тут минусы и плюсы.

function obscure ($hString, $hDecode = NULL, $hSLength = 40, $keepLength = NULL, $minhPass = 10, $hMethod = sha1)
                {
                 if ($hDecode == NULL)
                   {
                    for ($i = 0; $i<16; $i++)
                      {
                       $hSalt = rand(33, 255);
                       $hRandomSalt .= chr($hSalt);
                      }
                    $hRandomSalt = hash($hMethod, $hRandomSalt);
                   }
                 else
                   {
                    $hRandomSalt = $hDecode;
                   }
                 if ($keepLength != NULL)
                   {
                    if ($hSLength > (strlen($hRandomSalt) - $minhPass))
                      {
                       $hSLength = (strlen($hRandomSalt) - $minhPass);
                      }
                   }
                 else if ($hSLength < 0)
                   {
                    $hSLength = 0;
                   }
                 $hLPosition = strlen($hString);
                 
                 while ($hLPosition > $hSLength)
                   {
                    $hNumber = substr($hLPosition, -1);
       
                    $hLPosition = $hLPosition * ($hNumber/10);
                   }

                 $hLPosition = (integer)$hLPosition;
                 $hRPosition = $hSLength - $hLPosition;

                 $hFSalt = substr($hRandomSalt, 0, $hLPosition);
                 $hLSalt = substr($hRandomSalt, -$hRPosition, $hRPosition);
 
                 $hPassHash = hash($hMethod, ($hLSalt . $hString . $hFSalt));

                 if ($keepLength != NULL)
                   {
                    if ($hSLength != 0)
                      {
                       if ($hRPosition == 0)
                         {
                          $hPassHash = substr($hPassHash, $hLPosition);
                         }
                       else
                         {
                          $hPassHash = substr($hPassHash, $hLPosition, -$hRPosition);
                         }
                      }
                   }
                   
                 return $hFSalt . $hPassHash . $hLSalt;
                }

Хешируем пароль - obscure ($plain_password);
Проверяем password - obscure ($plain_password, $hashedPassword);

Далее по списку. Просматривая второй сезон гребаного сериала для женстчин “Секс в большом городе” от нехуй делать, я с удивлением узнал следующий факт: В США практически не осталось мужчин без обрезания. Если не верите, погуглите по данному вопросу. Объясняется это модой и гигиеной, но, по-моему, всё дело в мировом заговоре сионистов :)

__

Если вас интересует забавная продажа собак — вы попали по нужному адресу.
Революционная и необыкновенная очистка сточных вод передовыми методами.
Замучила параноя? Предлагаем контроль транспорта специально для вас.

Рубрики: php, Бизнес, дизайн |

Оставить комментарий