Using PHP 5.5's password_hash and password_verify Effectively
While considering the security of user passwords, the question arises about the appropriate method for storing passwords in PHP 5.5. The password_hash function, introduced with PHP 5.5 and later implemented for PHP 5.3.7 , emerged as a secure option for password management.
In contrast to the initial implementation presented in the question, which stored the salt separately from the hash, the recommended approach is to store both hash and salt conjointly. The password_hash function generates a string that encapsulates both elements, eliminating the need for separate storage.
Storing Password with password_hash
The correct way to store a user's password using password_hash is as follows:
$hashAndSalt = password_hash($password, PASSWORD_BCRYPT); // Store $hashAndSalt in database against the user
Verifying Password with password_verify
To verify a user's inputted password:
// Fetch $hashAndSalt from database if (password_verify($password, $hashAndSalt)) { // Verified }
This approach ensures that both hash and salt are used, bolstering the security of your password storage.
The above is the detailed content of How Can I Securely Store and Verify User Passwords in PHP 5.5 Using `password_hash` and `password_verify`?. For more information, please follow other related articles on the PHP Chinese website!