Интересно

Рекламный робот

30.08.2018

  Какой рекламодатель не мечтает об идеальном промоут
Сенсорный стол

23.08.2018

  Желаете ли вы перевоплотить собственный офис, выста
Светодиодный экран

22.07.2018

Если перед организатором мероприятия стоит задача пр
Интерактивная песочница

28.06.2018

  Як ладит интерактивная песочница iSandBOX – это редкост

Друзья

s2.jpg
s3.jpg
s1.jpg


Среди множества функций PHP есть функция md5. В ее основе алгоритм MD5 RSA Data Security, Inc. Она возвращает так называемый хэш строки, который представляет собой 32-значное шестнадцатеричное число. Для каждой строки он уникален, вероятность совпадения его у разных строк ничтожно мала.

Хэширование - это вовсе не шифрование. Шифрование предполагает некий ключ, с помощью которого шифр можно перевести в читаемый текст. У хэширования такого ключа нет. Можно сказать, что это шифрование "в одну сторону", без возможности дешифровки.

Функцию md5 очень удобно использовать для хранения паролей в базе сайта. Я неоднократно сталкивался с ситуацией, когда в базе пароли лежат в явном виде. Понятно, что в случае взлома такой базы хакер получит доступ к целой коллекции паролей. И ничего хорошего в этом нет.

Во-первых, среди них могут оказаться и пароли пользователей с админскими полномочиями, а если хакер получил возможность видеть базу, но не управлять ей, он будет очень рад возможности воспользоваться таким подарком.

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

Поэтому на приличных сайтах пароли хранят в хэшированном виде. Когда пользователь вводит свой пароль, его тоже пропускают через md5 и сравнивают с лежащим в базе хэшем - если строки совпали, значит пользователь ввел именно тот пароль, хэш которого лежит в базе.

На самом деле, хэширование здорово защищает пароль, но абсолютной защиты все-таки не дает. Расшифровать его нельзя, но можно подобрать. Методом банального перебора. Программ для этого дело можно найти в Интернете довольно много, это не проблема. Были бы время и мощный компьютер. Вооружившись однажды такой программкой, я обнаружил что хэш трех-четырехзначных строк подбирается буквально за пару минут. А вот подбора моего пробного "пароля" из 6 знаков я так и не дождался - терпения не хватило. Так что хранящийся в базе хэш 8-10 значного пароля дает не абсолютную, но очень высокую степень защиты.

В общем, когда вы программируете сайт, не поленитесь, встройте в него хэширование паролей. И посоветуйте посетителям при регистрации придумывать пароль как минимум из 6-8 знаков. А когда бродите по незнакомым сайтам - выбирайте для каждого свой пароль - ведь сайт может оказаться "дырявым". Ну или возьмите какой-нибудь общий пароль для всех одноразовых регистраций, а уж если будете пользоваться этим форумом и сервисом часто - смените его на что-то более безопасное.

Добавить комментарий


Защитный код
Обновить

Вебдизайнерам


Партнёрские програмы или рекламные брокеры?
"Каждый сайт должен приносить прибыль своему владельцу", - это утверждение верно на 100 процентов. Многие статьи уверяют, что заработать в интернете практически невозможно, но это не так, главное - иметь голову и отыскать хорошую лазейку, тогда баксы сами к вам пойдут. Де...

Продвижение


Что такое раскрутка сайта?
Для любого интернет-сайта грамотная раскрутка является не роскошью, а осознанной необходимостью. Однажды начатый, этот процесс не может останавливаться, он требует постоянного продолжения. Почему продвижение сайта нельзя останавливать? Ответ прост: ежедневно в Сети появляются все новые сайты, ко...

IT-Архитекторам


Самоучитель программирования html, java
Помощник начинающих - самоучитель программирования html В настоящее время в мировой сети Интернет насчитывается около семнадцати миллиардов активных Интернет-сайтов, и их количество продолжает стремительно расти. Создать сайт может не только программист, но и любой человек, мало-мальски разбирающий...