-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathpassword_verify.php
27 lines (22 loc) · 1.06 KB
/
password_verify.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
/**
* Jednoduchá demonstrace použití funkcí password_hash a password_verify
*/
$heslo = 'heslo';
//hash získáme funkcí password_hash, jako algoritmus doporučuji uvést výchozí PASSWORD_DEFAULT; funkce do hesla zároveň doplní i sůl
//TODO hash hesla bychom mohli uložit např. do databáze a odtud jej poté při přihlašování načíst
$hash = password_hash($heslo, PASSWORD_DEFAULT);
if (password_verify($heslo, $hash)){
//TODO heslo bylo úspěšně ověřeno, uživatele přihlásíme
echo 'OK';
#region ověření bezpečnosti hashovací funkce
//ověření bezpečnosti hashe není zcela nezbytné, ale je doporučené jej do přihlašování začlenit - zejména, pokud chceme mít aplikaci provozovanou dlouhodobě, postupně na více verzích PHP
if (password_needs_rehash($hash, PASSWORD_DEFAULT)){
$newHash = password_hash($heslo, PASSWORD_DEFAULT);
//TODO uložení nového hashe hesla do db
}
#endregion ověření bezpečnosti hashovací funkce
}else{
//bylo zadáno chybné heslo
echo 'chybné heslo';
}