openssl_password_hash

(No version information available, might only be in Git)

openssl_password_hashOpenSSL の Argon2 実装を使ってパスワードハッシュを作る

説明

openssl_password_hash(string $algo, string $password, array $options = []): string

OpenSSL の Argon2 実装を使ってパスワードハッシュを作ります。 この関数は、バックエンドとして OpenSSL を使う password_hash() の代替手段であり、 プラットフォームによってはハードウェアアクセラレーションを利用できます。

この関数は、PHP が Argon2 をサポートする OpenSSL (HAVE_OPENSSL_ARGON2) とともにコンパイルされている場合にのみ使用できます。

パラメータ

algo

パスワードハッシュアルゴリズム。サポートされている値は "argon2id""argon2i" です。

password

ユーザーのパスワード。

options

オプションの連想配列 (array)。サポートされるキーは以下のとおりです:

  • memory_cost - ハッシュの計算に使用する 最大メモリ量 (KiB 単位)
  • time_cost - ハッシュの計算にかける 最大時間
  • threads - ハッシュの計算に使用する スレッド数

戻り値

パスワードハッシュを文字列 (string) で返します。

エラー / 例外

algo がサポートされている値 ("argon2i" または "argon2id") のいずれでもない場合、ValueError をスローします。

不明な原因でハッシュ操作が失敗した場合、 Error をスローします。

変更履歴

バージョン 説明
8.4.0 関数が追加されました。

例1 openssl_password_hash() の例

<?php
$hash
= openssl_password_hash('argon2id', 'my-secret-password');
echo
$hash;
?>

上の例の出力は、 たとえば以下のようになります。

$argon2id$v=19$m=65536,t=4,p=1$c29tZXNhbHR2YWx1ZQ$hashvalue...

例2 カスタムオプションを指定した openssl_password_hash() の例

<?php
$hash
= openssl_password_hash('argon2id', 'my-secret-password', [
'memory_cost' => 65536,
'time_cost' => 4,
'threads' => 1,
]);
?>

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top