Интересно

Где найти работу программисту?

16.12.2016

За последние несколько лет ситуация на российском рын
Все о программировании.

02.08.2016

Информация о методических материалах о программирова
Программирование

31.07.2016

Современное общество стремиться компьютеризировать и
Полезная информация по программированию

15.07.2016

В современном мире технологии стали очень развитыми.

Друзья

s3.jpg
s1.jpg
s2.jpg


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

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

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

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

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

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

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

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

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


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

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


История про один сайт - часть 2
Создание рассылки Очень важный этап в жизни вашего проекта. Рассылки бывают разные: это могут быть только новости сайта, или часть нового материала с анонсами, или самостоятельная рассылка, в которой будут публиковаться интересные статьи, обзоры и т.д. Мне кажется, для поддержки своего сайта, ну...

Продвижение


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

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


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