指定したハッシュがオプションにマッチするかどうかを調べる

# password_needs_rehash

(PHP 5 >= 5.5.0, PHP 7)

password_needs_rehash — 指定したハッシュがオプションにマッチするかどうかを調べる

### 説明

password_needs_rehash ( string `$hash` , integer `$algo` [, array `$options` ] ) : boolean

指定したハッシュが、特定のアルゴリズムとオプションを満たしているかどうかを調べます。 満たしていない場合は、ハッシュを再計算する必要があるとみなします。 rehashed.

### パラメータ

`hash`

  password_hash() が作ったハッシュ。

`algo`

  パスワードのハッシュに使うアルゴリズムを表す パスワードアルゴリズム定数。

`options`

  オプションを含む連想配列。各アルゴリズムがサポートするオプションについては、 パスワードアルゴリズム定数 のページを参照ください。

### 例

例1 password_needs_rehash()() の使用例

`<?php
$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
// cost パラメータは、ハードウェアの性能の向上にあわせて変えることができます
$options = array('cost' => 11);
// 格納されたハッシュを、平文のパスワードに対して検証します
if (password_verify($password, $hash)) {
// より新しいハッシュアルゴリズムの存在や、コストの変更を
// 確認します
if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) {
// そんな場合は新しいハッシュを計算して、古いものを置き換えます
$newHash = password_hash($password, PASSWORD_DEFAULT, $options);
}
// ログイン
}
?>`

### 返り値

指定した `algo` と `options` にマッチするためにハッシュの再計算が必要な場合は `TRUE`、 それ以外の場合は `FALSE` を返します。