password_get_info
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_get_info — 指定したハッシュに関する情報を返す
説明
password_hash() がサポートするアルゴリズムで生成した有効なハッシュを渡すと、 そのハッシュに関する情報の配列を返します。
パラメータ
hash
-
password_hash() が作ったハッシュ。
戻り値
三つの要素を持つ連想配列を返します。
-
algo
には、そのハッシュの パスワードアルゴリズム定数 が含まれます。 -
algoName
には、そのアルゴリズムの名前が含まれます。 -
options
には、 password_hash() を呼んだときのオプションが含まれます。
+add a note
User Contributed Notes 1 note
cbungholio at gmail dot com ¶
7 years ago
If you're curious to use this method to determine if there is someway to evaluate if a given string is NOT a password_hash() value...
<?php
// Our password.. the kind of thing and idiot would have on his luggage:
$password_plaintext = "12345";
// Hash it up, fuzzball!
$password_hash = password_hash( $password_plaintext, PASSWORD_DEFAULT, [ 'cost' => 11 ] );
// What do we get?
print_r( password_get_info( $password_hash ) );
/* returns:
Array (
[algo] => 1
[algoName] => bcrypt // Your server's default.
[options] => Array ( [cost] => 11 )
)
*/
// What about if it's un-hashed?...
print_r( password_get_info( $password_plaintext ) );
/* returns:
Array (
[algo] => 0
[algoName] => unknown
[options] => Array ( )
)
*/
?>
... Looks like it's up to each of us to personally decide if it's safe to compare against the final returned array.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google