Интересно

Особенности постов охраны

15.03.2018

Для того чтобы создать условия для качественной охран
Какой памятник на могилу предпочесть?

04.03.2018

Чтобы упорядочить место захоронения близкого человек
Что такое специальные технические условия?

26.02.2018

Действующими нормативными актами предусмотрено больш
Особенности прохождения тренингов Mini MBA

06.02.2018

Руководители среднего и высшего звена, недавно вступи

Друзья

s3.jpg
s1.jpg
s2.jpg


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

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

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

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

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

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

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

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

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


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

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


Логотипы: теория
Что такое логотип? Логотип (от греч. логос — слово и типус — отпечаток, форма, образец) — это знак (символ), состоящий из текста и/или графики, являющийся отличительным для фирмы, компании, организации и т.п. В идеале логотип графическими средствами должен выражать основное направление деятельн...

Продвижение


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

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


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