<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

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

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

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

MD5 хэширование в PHP

MD5 хэширование в PHP

В этой статье я решил затронуть тему MD5 хэширования, так как тема эта очень простая, интересная и очень-очень важная. Самый простой пример использования MD5 хэша - это шифрование паролей пользователей. Ведь не секрет, что если хранить пароли в открытом виде в базе данных, то при её утере, все пароли пользователей будут украдены, чего не имеет никакого морального права допустить администратор. И вот тут на помощь приходит функция хэширования в PHP.

Функция MD5 хэширования в PHP называется md5(). Принимает функция одну строку, которую необходимо зашифровать. Функция возвращает MD5 хэш:

<?php
  $str = "MyPassword";
  echo md5($str);
?>

  Запустив данный скрипт, Вы увидите MD5-хэш, соответствующий строке "MyPassword".

  То есть простейший скрипт проверки логина и пароля:

<?php
  $login = "Admin";
  $password = "48503dfd58720bd5ff35c102065a52d7"; //В реальности считывается из БД
  if (($_GET['login'] == $login) && (md5($_GET['password']) == $password)) echo "Welcome!";
  else echo "Access denied";
?>

Теперь если Вы пройдёте по ссылке: "http://путь_к_скрипту.php?login=Admin&password=MyPassword", то увидите: "Welcome!".

Теперь поговорим о свойствах MD5-хэширования.

  1. MD5-хэш содержит 32 символа
  2. MD5-хэш уникален для каждой строки
  3. Процесс MD5-хэширования необратим
  4. Процесс MD5-хэширования достаточно медлителен

Третий пункт, пожалуй, самый важный, потому что если бы он был обратим, то смысл хэширования практически бы отсутствовал. Глупо шифровать, например, пароли, если их можно легко потом расшифровать.

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

На будущее: никогда не храните пароли в открытом виде, забудьте об этом раз и навсегда. Поэтому всегда отправляйте пароли в базу данных в виде MD5-хэша, и, соответственно, сравнивайте хэши паролей, а не сами пароли.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (6):

ArturPanteleev ArturPanteleev 10.06.2012 14:00:45

А у меня такой вопрос: не могу сообразить как сделать напоминание пароля, если он хранится в md5. То есть я понимаю что нужно сделать как у вас на сайте, чтобы выдавалась одноразовая ссылка на изменение пароля, но как ее сгенерировать?

Ответить

Admin Admin 10.06.2012 14:07:07

Можно просто генерировать новый пароль и его присылать. А что касается ссылки, то это тоже несложно. Достаточно сгенерировать какой-нибудь ключ на основании, например, бывшего пароля и затем проверить этот ключ. Если верный, то предложить сменить пароль.

Ответить

ArturPanteleev ArturPanteleev 10.06.2012 14:08:00

Хорошо, спасибо.

Ответить

AntDant AntDant 14.06.2013 10:31:14

Михаил, а ведь сейчас можно расшифровать md5 !

Ответить

Logan22 Logan22 02.07.2013 22:42:06

Нет, Антон. Расшифровать невозможно. Возможно только сбрутить хэш.

Ответить

asffix asffix 27.12.2014 12:51:56

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

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.