Składnia:
String | Fałszowe hasło_hash (string $ hasło, ciąg | int | null $ algo [, array $ options = []])Pierwszy argument jest obowiązkowy i służy do przyjmowania wartości ciągłej, która zostanie skąpiona.
Drugi argument jest obowiązkowy i służy do przyjmowania liczby całkowitej lub ciągu odnoszącej się do algorytmu, który zostanie użyty do utworzenia hash hasła. Ta funkcja obecnie obsługuje następujące algorytmy.
Hasło_default:
Używa algorytmu BCRYPT do generowania hash hasła.
Hasło_bcrypt:
Używa algorytmu Crypt_Blowfish do wygenerowania hash hasła.
Hasło_argon2i:
Wykorzystuje algorytm haszu Argon2i do generowania hash hasła i można go użyć, jeśli PHP został skompilowany z obsługą Argon2.
Hasło_argon2id:
Używa algorytmu haszu Argon2ID do generowania hash hasła i można go użyć, jeśli PHP został skompilowany z obsługą Argon2.
Trzeci argument jest opcjonalny i służy do zdefiniowania tablicy zawierającej obsługiwane opcje używanego algorytmu.
Poniższe opcje są obsługiwane przez algorytm hasła_bcrypt.
sól:
Ta opcja jest teraz przestarzała. Wartość soli, która jest domyślnie generowana, jest lepiej w użyciu.
koszt:
Służy do zdefiniowania kosztu algorytmu, którego należy użyć. Wartość domyślna to 10.
Poniższe opcje są obsługiwane przez algorytmy hasła_argon2i i hasło_argon2id.
pamięć_cost:
Służy do zdefiniowania maksymalnej pamięci w KB, której można użyć do generowania hash hasła za pomocą skrótu Argon2.
Time_cost:
Służy do zdefiniowania maksymalnego czasu, którego można użyć do wygenerowania hash hasła za pomocą skrótu Argon2.
wątki:
Służy do zdefiniowania liczby wątków do wygenerowania hash hasła za pomocą skrótu Argon2.
Funkcja zwraca hasło do sukcesu lub fałszu w sprawie porażki.
Przykłady funkcji hasła_hash ()
Zastosowania funkcji hasła_hash (.
Przykład-1: Utwórz hasło do skróconego za pomocą domyślnego algorytmu skrótu
Utwórz plik PHP z następującym skryptem, który wygeneruje wartość hashowanego hasła za pomocą funkcji Password_Hash (), a domyślny algorytm mieszania został użyty tutaj. Oryginalne i hashed hasło, zostaną wydrukowane jako wyjście skryptu.
// Ustaw wartość hasłaWyjście:
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.
Przykład-2: Utwórz hasło Hashed przy użyciu wartości kosztu i algorytmu hasła_bcrypt
Utwórz plik PHP z następującym skryptem, który wygeneruje wartość hashed hasła za pomocą funkcji hasła_hash (). Algorytm hasła_bcrypt i wartość kosztów została użyta w funkcji hasła_hash (. Zarówno oryginalny, jak i hashed hasło zostanie wydrukowane jako wyjście skryptu.
// Ustaw wartość hasłaWyjście:
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.
Przykład-3: Utwórz hasło do hashowanego za pomocą algorytmu hasła_argon2i
Utwórz plik PHP z następującym skryptem, który wygeneruje wartość hashed hasła za pomocą funkcji hasła_hash (). Algorytm hasła_argon2i został użyty w funkcji hasła_hash (. Oryginalne i hashed hasło, zostaną wydrukowane jako wyjście skryptu.
// Ustaw wartość hasłaWyjście:
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.
Przykład-4: Korzystanie z funkcji hasła_hash () z funkcją hasła_verify ()
Utwórz plik PHP z następującym skryptem, aby zweryfikować hasło hashed za pomocą funkcji hasła_verify () po wygenerowaniu hasła skrótowego z danych stringowych za pomocą funkcji hasła_hash (). Hasło zostanie pobrane z parametru URL i sprawdzone, czy hasło jest prawidłowe za pomocą wartości hasła i wartości hasła w argumentach funkcji hasła_verify (). Jeśli ta funkcja zwróci true, hasło jest prawidłowe; W przeciwnym razie hasło jest nieprawidłowe.
// Ustaw wartość hasłaWyjście:
Po wykonaniu powyższego skryptu bez parametru URL pojawi się następujące dane wyjściowe.
http: // localhost/php/pass4.php
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu z wartością parametru URL ”, 'SecretPassword ', a hasło Hashed zostało wygenerowane dla tej wartości w skrypcie. Tak więc hasło jest prawidłowe.
http: // localhost/php/pass4.php?hasło = SecretPassword
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu z wartością parametru URL ”, 'sekret' nieważny.
http: // localhost/php/pass4.php?hasło = sekret
Wniosek
W przykładach tego samouczka pokazano różne sposoby tworzenia hasła za pomocą funkcji hasła_hash ().