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
Як запароліть папку в windows?
Шифрування домашньої папки в ubuntu
Silence
Функція array_pad в php.
Як зашифрувати свої документи?
Group by в sql
Як змінити пароль в linux
Як включити полнодісковое шифрування в windows 10?
Шифрування паролів користувачів на сайті
Md5 хешування в php