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-хешування.
- MD5-хеш містить 32 символу
- MD5-хеш унікальний для кожного рядка
- процес MD5-хешування незворотній
- процес MD5-хешування досить повільний
Відео: Що називається хешированием?
Третій пункт, мабуть, найважливіший, тому що якби він був звернемо, то сенс хешування практично б був відсутній. Нерозумно шифрувати, наприклад, паролі, якщо їх можна легко потім розшифрувати.
Четвертий пункт, як би це парадоксально звучить, також є дуже великим плюсом. Чому? Дуже просто: людина, яка буде змушений почекати цей процес 0.001 секунди, сильно не постраждає. А ось зловмисник, який буде перебирати паролі постраждає різко, так як повільність алгоритму вже задає межа - 1000 паролів в секунду. Хоча, безумовно, швидкість залежить від швидкодії сервера. Але тим не менше, для зловмисника низька швидкість отримання MD5-хеша - це дуже велика проблема.
Відео: PHP Tutorial: Password Encryption with MD5, SHA1, and Crypt -HD-
На майбутнє: ніколи не зберігайте паролі у відкритому вигляді, забудьте про це раз і назавжди. Тому завжди відправляйте паролі в базу даних у вигляді MD5-хеша, і, відповідно, порівнюйте хеші паролів, а не самі паролі.
- Proactive windows security explorer
- Як зробити типи користувачів на php
- Як користуватися hashcat
- Що таке md5, sha-1, sha-256 - алгоритми хешування і як перевірити цілісність файлів?
- Перевірка зайнятості логіна на ajax
- Перевірка складності пароля на jаvascript
- Створення движка на mvc. Створюємо можливість додавання користувача в базу даних через адмін панель
- Elcomsoft system recovery professional скине існуючі паролі
- Строкові функції в php
- Password peeper v.1.0 просмоторщик прихованих паролів
- Чутливі до регістру пошук для mysql
- Шифрування паролів користувачів на сайті
- Робота з датою і часом в php
- Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
- Генератор паролів на php
- Відправка cookie через curl
- Створення xml-документа на php
- Обробка форми в php
- Робота з cookie в php
- Парсинг xml-документа на php
- Hash api - новий підхід до шифрування паролів.