Reports the algorithm identifier, algorithm name and options encoded in a password hash without checking a password.
Before using it, identify which data, connection or runtime state the operation reads or changes. This avoids examples that appear to work but apply to a different context.
What Is password_get_info() in PHP?
Reports the algorithm identifier, algorithm name and options encoded in a password hash without checking a password.
Syntax:
<?php
// Signature for reference only
password_get_info(string $hash) : array
Parameters and Return Value
$hash— Required string argument supplied to this operation.
The declared return type is array.
Example 1: Basic Usage
<?php
$hashedPassword = password_hash("correct horse", PASSWORD_DEFAULT);
print_r(password_get_info($hashedPassword));Reports the algorithm identifier, algorithm name and options encoded in a password hash without checking a password.
Example 2: Another Case
<?php
print_r(password_get_info("not-a-password-hash"));The second example changes the input or surrounding conditions, which matters when choosing this API for real application code.
Practical Example
<?php
$storedHash = password_hash("example", PASSWORD_DEFAULT);
$hashMetadata = password_get_info($storedHash);
echo $hashMetadata["algoName"];The practical example is a teaching scenario. Change sample configuration and credentials before using a similar design in an application.
Important Behavior and Edge Cases
- It does not verify passwords; use password_verify() for authentication and password_needs_rehash() to plan upgrades.
- Relevant PHP environment: standard. Ensure the required extension and operating-system capabilities are present.
- Check results and release resources where necessary; successful syntax alone does not guarantee a successful operation.
Comparison With Related Functions
| Option | When to Use It |
|---|---|
password_get_info | Reports the algorithm identifier, algorithm name and options encoded in a password hash without checking a password. |
password_verify | Use this related operation for its different responsibilities; do not assume identical inputs or return values. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
| Assuming a successful return value | Inspect the returned value and handle failures according to this operation’s contract. |
| Using the API without its required environment | Supply the required resources, runtime configuration and permissions before calling it. |
| Copying demonstration values into production | Use application-specific validated values, secure configuration and safe error handling. |
Key Takeaways
- Reports the algorithm identifier, algorithm name and options encoded in a password hash without checking a password.
- It does not verify passwords; use password_verify() for authentication and password_needs_rehash() to plan upgrades.
- Validate inputs and handle failure conditions before integrating this operation into a production workflow.
Reports the algorithm identifier, algorithm name and options encoded in a password hash without checking a password. Use the appropriate runtime and treat any environment-dependent output as an example, not a guaranteed result.