Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP - password_get_info() Function



The PHP Hashing password_get_info() function is used to retrieve information about a given hash. The returned information will be in an array format.

The returned array is associated with three elements "algo", "algoName", and "options", which are described below −

  • algo − This is an integer representing the algorithm used to create the hash, which matches one of the password algorithm constants.
  • algoName − This is a human-readable string that describes the algorithm used to hash the password.
  • options − This includes any options that were provided when calling the password_hash() function, such as cost parameters or other algorithm-specific settings.

Syntax

Following is the syntax of the PHP Hashing password_get_info() function −

password_get_info(string $hash): array

Parameters

This function accepts a single parameter named 'hash', which is described below −

  • hash − A hash created by password_hash() function.

Return value

This function returns an information about the given hash.

Example 1

The following program demonstrates the usage of the PHP Hashing password_get_info() function −

<?php
   #password
   $passw01 = "53nh46u74m3nt3";
   $hashp01 = password_hash($passw01, PASSWORD_ARGON2ID);
   echo "The given password: $passw01";
   echo "\nPassword length: ".strlen($passw01);
   echo "\nThe hash is: ".$hashp01;
   echo "\nHash length: ".strlen($hashp01);

   $hashi01 = password_get_info($hashp01);
   echo "\nThe information about hash: ";
   echo "\n".$hashi01["algo"];
   echo "\n".$hashi01["algoName"];
   echo "\n".$hashi01["options"]["memory_cost"];
?>

Output

The above program produces the following output −

The given password: 53nh46u74m3nt3
Password length: 14
The hash is: $argon2id$v=19$m=65536,t=4,p=1$d1lQNFRXaHZ4c2svckVwSw$ycYE/MWu3Rc1oRa8VWV3ZqNS8i0QqWnnuWdQzjwsAZQ
Hash length: 97
The information about hash:
argon2id
argon2id
65536

Example 2

Following is another example of the PHP Hashing password_get_info() function. We use this function to retrieve an information about a given hash −

<?php
   $passw02 = "53nh46u74m3nt3"; 
   $opts02 = [ "memory_cost" => 512, "time_cost" => 3, "threads" => 3 ]; 
   $hashp02 = password_hash($passw02, PASSWORD_ARGON2ID, $opts02); 
   echo "The given password: ".$passw02;
   echo "\nThe password length: ".strlen($passw02);
   echo "\nHash: ".$hashp02;
   echo "\nHash length: ".strlen($hashp02);
   $hashi02 = password_get_info($hashp02);
   echo "\nAn information about hash: ";
   echo "\nAlgo: ".$hashi02["algo"];
   echo "\nAlgo Name: ".$hashi02["algoName"];
   echo "\nMemory cost: ".$hashi02["options"]["memory_cost"];
   echo "\nTime cost: ".$hashi02["options"]["time_cost"];
   echo "\nThreads: ".$hashi02["options"]["threads"];
?>

Output

After executing the above program, the following output will be displayed −

The given password: 53nh46u74m3nt3
The password length: 14
Hash: $argon2id$v=19$m=512,t=3,p=3$SC4yMWZ0TUIxaTJ3TnVBYQ$JCztOuIo34OX0OEmtHzSnKLN/Zugk5buGm0k/tTFpbs
Hash length: 95
An information about hash:
Algo: argon2id
Algo Name: argon2id
Memory cost: 512
Time cost: 3
Threads: 3
php_function_reference.htm
Advertisements