【PHP8.x】openssl_digest関数の使い方

作成日: 更新日:

openssl_digest関数は、指定されたデータに対して、OpenSSLライブラリでサポートされているメッセージダイジェストアルゴリズムを用いてハッシュ値を生成する関数です。第一引数にはハッシュ値を生成したいデータを文字列で指定します。第二引数には使用するダイジェストアルゴリズムを文字列で指定します。OpenSSLで利用可能なアルゴリズムの一覧は、openssl_get_md_methods()関数で取得できます。第三引数には、オプションとしてバイナリ形式で出力するかどうかを指定する真偽値を指定できます。trueを指定すると、生のバイナリ形式でハッシュ値が返され、false(デフォルト)を指定すると、小文字の16進数文字列でエンコードされたハッシュ値が返されます。openssl_digest関数は、データの整合性検証や、パスワードなどの機密情報のハッシュ化処理に利用できます。返り値は、ハッシュ値の文字列、またはエラーが発生した場合はfalseを返します。openssl_digest関数を使用するには、PHPにOpenSSL拡張モジュールがインストールされている必要があります。また、指定されたダイジェストアルゴリズムがOpenSSLライブラリでサポートされている必要があります。サポートされていないアルゴリズムを指定した場合、エラーが発生します。

基本的な使い方

構文(syntax)

<?php
$data = "データとしてハッシュ化したい文字列";
$method = "sha256"; // 使用するハッシュアルゴリズムを指定 ('md5', 'sha1', 'sha256', 'sha512' など)
$digest = openssl_digest($data, $method);
echo $digest;
?>

引数(parameters)

string $data, string $digest_algo, bool $binary = false

  • string $data: ダイジェストを計算したいデータ。
  • string $digest_algo: 使用するダイジェストアルゴリズムの名前。
  • bool $binary = false: trueの場合、バイナリ形式で結果を返します。falseの場合、16進数形式で返します。

戻り値(return)

string|false

指定されたアルゴリズムで入力データをハッシュ化した文字列を返します。ハッシュ化に失敗した場合は false を返します。

【PHP8.x】openssl_digest関数の使い方 | いっしー@Webエンジニア