Md5 хешування в php

MD5 хешування в PHP

Відео: DangerPro - Шифрування пароля на сайті. PHP

У цій статті я вирішив торкнутися теми MD5 хешування, так як тема ця дуже проста, цікава і дуже-дуже важлива. Найпростіший приклад використання MD5 хеша - це шифрування паролів користувачів. Адже не секрет, що якщо зберігати паролі у відкритому вигляді в базі даних, то при її втраті, всі паролі користувачів будуть вкрадені, чого не має ніякого морального права допустити адміністратор. І ось тут на допомогу приходить функція хешування в PHP.

Функція MD5 хешування в PHP називається md5 (). Приймає функція один рядок, яку необхідно зашифрувати. функція повертає MD5 хеш:

lt ;?php
$ str
="MyPassword"-
echo md5
($ str) -
?gt;

Запустивши даний скрипт, Ви побачите MD5-хеш, відповідний рядку "MyPassword".

Відео: Уроки PHP - 26. Функція md5




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

lt ;?php
$ login
="Admin"-
$ password
="48503dfd58720bd5ff35c102065a52d7"-// В реальності зчитується з БД
if(($ _GET[`Login`]== $ login)(md5($ _GET[`Password`])== $ password)) echo "Welcome!"-
else echo "Access denied"-
?gt;

Тепер якщо Ви пройдете по посиланню: "http: //путь_к_скріпту.php? login = Adminpassword = MyPassword", То побачите:"Welcome!".




Тепер поговоримо про властивості MD5-хешування.

  1. MD5-хеш містить 32 символу
  2. MD5-хеш унікальний для кожного рядка
  3. процес MD5-хешування незворотній
  4. процес MD5-хешування досить повільний

Відео: Що називається хешированием?

Третій пункт, мабуть, найважливіший, тому що якби він був звернемо, то сенс хешування практично б був відсутній. Нерозумно шифрувати, наприклад, паролі, якщо їх можна легко потім розшифрувати.

Четвертий пункт, як би це парадоксально звучить, також є дуже великим плюсом. Чому? Дуже просто: людина, яка буде змушений почекати цей процес 0.001 секунди, сильно не постраждає. А ось зловмисник, який буде перебирати паролі постраждає різко, так як повільність алгоритму вже задає межа - 1000 паролів в секунду. Хоча, безумовно, швидкість залежить від швидкодії сервера. Але тим не менше, для зловмисника низька швидкість отримання MD5-хеша - це дуже велика проблема.

Відео: PHP Tutorial: Password Encryption with MD5, SHA1, and Crypt -HD-

На майбутнє: ніколи не зберігайте паролі у відкритому вигляді, забудьте про це раз і назавжди. Тому завжди відправляйте паролі в базу даних у вигляді MD5-хеша, і, відповідно, порівнюйте хеші паролів, а не самі паролі.

Поділися в соціальних мережах:

Схожі
Як користуватися hashcatЯк користуватися hashcat
Генератор паролів на phpГенератор паролів на php
Elcomsoft system recovery professional скине існуючі пароліElcomsoft system recovery professional скине існуючі паролі
Обробка форми в phpОбробка форми в php
Створення движка на mvc. Створюємо авторизацію.Створення движка на mvc. Створюємо авторизацію.
Створення движка на mvc. Робимо можливість редагування і видалення користувачів.Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
Відправка cookie через curlВідправка cookie через curl
Proactive windows security explorerProactive windows security explorer
Парсинг xml-документа на phpПарсинг xml-документа на php
Як зробити типи користувачів на phpЯк зробити типи користувачів на php
» » Md5 хешування в php