こんにちは、さるまりんです。
以前、シェルスクリプトでやったMD5の計算・検証を今回はPHPでやってみます。
MD5ハッシュを計算する
MD5ハッシュの計算にはmd5_file()
関数を使います。
$file = [ファイルのパス];
$md5file = $filepath . '.md5';
$md5 = md5_file($file);
file_put_contents($md5file, $md5);
echo "MD5 hash of $file is $md5, and saved to file $md5file\n";
このスクリプトでは$file
で指定されたファイルのMD5を計算し出力、それをファイル$md5file
に保存しています。
MD5ハッシュを検証する
今度は検証です。保存されたMD5ハッシュの値と、現在のMD5ハッシュを比較します。
$file = [ファイルのパス];
$md5file = $file . '.md5';
// ファイルに保存されたMD5ハッシュを読み込みます
$savedmd5 = file_get_contents($md5file);
// 現在のMD5ハッシュを計算します
$curmd5 = md5_file($file);
// ハッシュが一致するかを比較して検証します
if ($savedmd5 === $curmd5) {
echo "MD5 hash matches.\n";
} else {
echo "MD5 hash does not match.\n";
}
シェルスクリプトではコマンドの呼び出し方で、計算、検証を行っていましたが、PHPではどちらも同じようにmd5_file()
関数で計算し、その値を比較しています。
この方法を使用すればPHPでファイルの整合性をチェックできますね。
前回と同じく何かあったわけではないですが、大丈夫?と確認しながら進むプログラムは安心して使えますよね。
コンピュータを安全に便利に使いたいなと思います。
読んでくださってありがとうございました。
それではまた!