Hash api - новий підхід до шифрування паролів.

Відео: Крадіжка пароля за допомогою кейлоггера

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+, то раджу використовувати саме цей спосіб шифрування.

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

Схожі
Як запароліть папку в windows?Як запароліть папку в windows?
Шифрування домашньої папки в ubuntuШифрування домашньої папки в ubuntu
SilenceSilence
Функція array_pad в php.Функція array_pad в php.
Як зашифрувати свої документи?Як зашифрувати свої документи?
Group by в sqlGroup by в sql
Як змінити пароль в linuxЯк змінити пароль в linux
Як включити полнодісковое шифрування в windows 10?Як включити полнодісковое шифрування в windows 10?
Шифрування паролів користувачів на сайтіШифрування паролів користувачів на сайті
Md5 хешування в phpMd5 хешування в php
» » Hash api - новий підхід до шифрування паролів.