Hash api - новий підхід до шифрування паролів.
Відео: Крадіжка пароля за допомогою кейлоггера
Навіть в сучасний час багато хто до цих пір використовують старі способи шифрування, наражаючи на небезпеку свої дані, а функція crypt () для деяких занадто складна у використанні. Щоб це виправити, в PHP 5.5 був введений Hash API, про який ми і поговоримо в цій статті.
Hash API - це просто якийсь інтерфейс, який полегшує використання функції crypt (). Давайте розглянемо його функції.
Відео: Основи програмування. Шифрування паролів, фішингова атака
password_hash ()
функція password_hash () приймає рядок першим параметром і константу другим.
Відео: Симетричне шифрування Асиметричне шифрування Хеш
lt ;?php
$ hash = password_hash("Mystring", PASSWORD_DEFAULT) -
?gt;
Якщо в якості другого параметра ви вкажете PASSWORD_DEFAULT, то на виході отримаєте хеш з більше 60 символів, а якщо вкажете PASSWORD_BCRYPT, то рівно 60 символів.
Hash API сам піклується про сіль і вартості, але якщо ви хочете вказати якісь свої значення, то зробити це можна так
lt ;?php
function salt_function(){
return"Mysaltstringfrom22symbols"-
}
$ opt = array(`Salt`= Gt; salt_function(),`Cost`= Gt;11) -
$ hash = password_hash("Mystring", PASSWORD_DEFAULT, $ opt) -
?gt;
Ми створили асоціативний масив опцій, де вказали сіль, яку повертає наша функція, і вартість. Як приклад я створив просту фунцию, яка повертає якусь рядок, але, звичайно ж, у вас код може бути набагато складніше. Головне, щоб повертається рядок була як мінімум з 22 символів, інакше нічого не вийде. Другим елементом масиву у нас вартість (cost). За замовчуванням вона дорівнює 10, але чим більше це значення, тим краще захист, однак не варто ставити занадто багато, тому що це може істотно знизити швидкість роботи скрипта. Коли все готово, даний масив передається третім параметрів в нашу функцію password_hash ().
password_verify ()
Якщо вам потрібно перевірити вихідну рядок і хеш, використовуйте password_verify ().
lt ;?php
if(password_verify("Mystring", $ hash)){
echo "TRUE"-
}else{
echo "FALSE"-
}
?gt;
Тут, думаю, пояснювати особливо нічого. Підемо далі.
password_needs_rehash ()
Ця функція використовується, коли вам потрібно оновити параметри солі або вартості. password_needs_rehash () перевіряє, чи відповідає даний хеш заданим алгоритмом і опцій. Якщо немає, то його потрібно оновити.
lt ;?php
if(password_needs_rehash($ hash, PASSWORD_DEFAULT, $ opt)){
$ hash = password_hash($ pass, PASSWORD_DEFAULT, $ opt) -
}
?gt;
password_get_info ()
Ця фунция просто повертає масив параметрів хешування.
lt ;?php $ arr = password_get_info($ hash) -?gt;
Повернеться асоціативний масив з такими значеннями:
- algo - константа алгоритму
- algoName - ім`я алгоритму
- options - опції
Отже, на цьому все. Як бачите, використовувати Hash API дуже навіть нескладно, так що, якщо у вас версія
PHP 5.5+, то раджу використовувати саме цей спосіб шифрування.
- Silence
- 1Password
- Потужна програма для шифрування дисків - cybersafe
- Як запароліть папку в windows?
- Як включити полнодісковое шифрування в windows 10?
- Кращі програми для злому паролів
- Як зашифрувати свої документи?
- Як змінити пароль в linux
- Використання криптоконтейнера для приховування інформації
- Паролі не врятують користувачів від злому
- Шифрування дисків в linux
- Перевірка складності пароля на jаvascript
- Elcomsoft system recovery professional скине існуючі паролі
- Строкові функції в php
- Створення движка на mvc. Покращуємо шифровку пароля користувачів.
- Шифрування паролів користувачів на сайті
- Group by в sql
- Шифрування домашньої папки в ubuntu
- Безпека даних. Частина 5 «шифрування файлів і дисків за допомогою cybersafe»
- Шифрування файлів і папок в linux
- Md5 хешування в php