ファイルのチェックサムに関する説明があります。
私のテスト アプリケーションでは、元のファイルの複製ファイルに対して同じチェックサム値を取得しました。また、元のファイルの名前を変更したときに、生成されたチェックサムは同じでした。
チェックサムを使用して、重複したファイルまたは名前が変更されたファイルの処理を破棄できますか。
ファイルのチェックサムに関する説明があります。
私のテスト アプリケーションでは、元のファイルの複製ファイルに対して同じチェックサム値を取得しました。また、元のファイルの名前を変更したときに、生成されたチェックサムは同じでした。
チェックサムを使用して、重複したファイルまたは名前が変更されたファイルの処理を破棄できますか。
はい。ただし、ファイルのフィンガープリントの生成に使用できるチェックサム アルゴリズムを使用する必要があります。すべてのチェックサムがこれに適しているわけではありません。
まあ、一般的にはそうです。ただし、使用しているチェックサムの種類によって異なります。
チェックサムを使用して、ファイルの処理をスキップするかどうかを決定する必要があります。ファイル比較を使用して実際に決定します。
内容が同じであれば、新しいファイルのチェックサムは元のファイルと一致します。また、使用するチェックサム スキームに関係なく、チェックサム値よりも多くの可能性のあるファイル コンテンツ文字列があるため、同一でない他のファイルにも一致します。(この確率をかなり低くすることはできますが、問題をなくすことはできません)。
したがって、ファイル X (処理対象) にファイル A (処理済み) と同じチェックサム C がある場合、X の内容と A の内容を比較する必要があります。 A の答えは X の答えです。チェックサム スキームが適切であれば、X と A が同一でない場合は、数バイトを比較しただけでわかります。(最初にファイル サイズを確認することもできますが、統計的に時間を節約できるかどうかは疑問です)。
もちろん、X のチェックサムを計算するという問題があります。これには、X のすべてのコンテンツを読み取る必要があります。それを計算するには、X のすべてを読み取る必要があります。ディスクの読み取りを行う場合と比較して、答えの生成が安価である場合は、そうではありません。仕事を避けるための多くのポイント。