PHPのmd5()関数とは?文字列からMD5ハッシュ値を計算する方法を解説
PHPのmd5()関数は、指定した文字列のMD5ハッシュ値を計算するために使用される関数です。パスワードのチェックサム作成やデータの整合性確認など、さまざまな場面で活用できます。
基本構文
md5(str, raw)
パラメータ
str − ハッシュ値を計算対象となる文字列を指定します。
raw − 出力形式を指定するブール値(省略可能)です。
TRUE − 16バイトの生バイナリ形式で出力します。
FALSE − デフォルト設定。32文字の16進数形式で出力します。
戻り値
md5()関数は、計算結果のハッシュ値を32文字の16進数として返します。raw引数にTRUEを指定した場合は、16バイトのバイナリデータが返されます。
使用例1:基本的なハッシュ計算
まずは、シンプルな文字列に対してMD5ハッシュ値を計算してみましょう。
<?php $s = "Welcome!"; echo md5($s); ?>
出力結果
9a843f20677a52ca79af903123147af0
このように、md5()関数に文字列を渡すだけで、対応する32文字のハッシュ値が取得できます。
使用例2:ハッシュ値の比較による照合
次の例では、計算したハッシュ値と既知のハッシュ値を比較し、一致した場合に処理を実行しています。
<?php
$s = "Welcome";
echo md5($s);
if (md5($s) == "83218ac34c1834c26781fe4bde918ee4") {
echo "\nWelcome";
exit;
}
?>出力結果
83218ac34c1834c26781fe4bde918ee4 Welcome
文字列「Welcome」のMD5ハッシュ値が「83218ac34c1834c26781fe4bde918ee4」と一致したため、「Welcome」という文字列が出力されました。この手法は、データの改ざんチェックや簡易的な照合処理などに応用できます。
注意点
MD5は高速で便利なハッシュ関数ですが、衝突耐性が低いため、セキュリティ目的のパスワード保存には推奨されていません。パスワードのハッシュ化には、password_hash()関数やbcrypt・Argon2などのより安全なアルゴリズムを使用しましょう。MD5はあくまでチェックサムや非セキュリティ用途での利用が適切です。
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのmd5_file()関数の使い方を徹底解説!ファイルのMD5ハッシュ値を取得する方法
md5_file()関数とはPHPのmd5_file()関数は、指定されたファイルのMD5ハッシュ値を計算するために使用されます。ファイルの内容全体を対象にハッシュ値を生成するため、ファイルの改ざん検知やデータの整合性確認などに活用できます。MD5アルゴリズムとはMD5メッセージダイジェストアルゴリズムは、任意の長さのメッセージを入力として受け取り、128ビットの「フィンガープリント(指紋)」または「メッセージダイジェスト」と呼ばれる出力を生成します。MD5はデジタル署名アプリケーション向けに設計されたアルゴリズムで、RSAなどの公開鍵暗号方式において、大きなファイルを秘密鍵で暗号化する前に安