0

testHash.php と me.php という 2 つの単純な PHP スクリプトがあります。testHash.php は単に me.php に対してmd5_file関数を実行し、結果を出力するだけです。

testHash.phpには以下が含まれます。

<?php 
 $test = md5_file(__DIR__."/me.php"); 
 echo $test;
 echo phpinfo();
?>

me.phpには以下が含まれます。

<?php
echo "Hello World";
?>

もちろん、ファイルに触れることなく、FTP ツール (FileZilla) を使用して両方のスクリプトを 2 つの異なる Web サーバーにアップロードしました。1 つはローカル仮想マシンで、もう 1 つはパブリック Web サーバーです$test。変数の出力は、他とは異なりました。どちらのウェブサーバーも LAMP フレームワークで動作します

  1. ローカル VM Web サーバー = 7633bbfa20ed2d29a55338913048eff0
  2. パブリック Web サーバー = 3a65329165abe28a485bed663da5e298

なぜそれらは互いに異なるのですか?ハッシュの計算に影響を与える外部要因 (フレームワーク、PHP バージョン、PHP 構成ファイル) はありますか。ありがとうございました。

4

1 に答える 1

4

ファイルが異なる場合、md5 は異なります。

ファイルを ascii モードで転送している場合、行末が CRLF から LF に変更されるなど、ファイル内の何かが変更される可能性があります。

于 2015-01-22T08:39:00.523 に答える