Snow Leopardでの簡単なファイル比較
ファイルのハッシュ値を求める方法で、ファイル比較を行うには、次のようにします。
まず、ユーティリティにあるターミナルを起動して、md5と入力します。(以下、画面例ですが、私はzshに変更していることもあり、ちょっと表示が異なっています)
つづいて、比較したいファイルの一つ目をFinderからターミナルにD&Dします。(ファイルのフルパスを書くのが面倒なので)、さらに比較したいファイルの二つ目をD&Dして、Return(Enter)キーを押します。
[hogehoge@hoge-mac] $md5 /Users/typocoder/Documents/test.txt /Users/typocoder/Documents/test2.txt <<ここでReturnキーを押す>>
MD5 (/Users/typocoder/Documents/test.txt) = 46851f98468a11c3a75f488ee5099739
MD5 (/Users/typocoder/Documents/test2.txt) = 4d9d5462afff9bda0f3a60d9f060d622
= 以降の赤字のところが同一であれば、同じファイルだと確認できます。ただし、ハッシュ値を求める方法では、100%の一致は保証できません。ほぼ100%一致しているはずだ、というレベルで検証できるだけです。(実用上は、100%一致と思っていいと思います)
詳しいことを知りたい場合は、WikipediaなどでMD5を調べたり、ハッシュ関数のアルゴリズムを調べたりしてみてください。
ちなみに、OS Xで標準の方法でSHA1のハッシュを計算したい場合は、こんな方法を用いるのが正しいようです。(md5sumやsha1sumのコマンドがあればいいのになあ、と思います。もちろん、portsやFinkからインストールできるような気はしますし、rubyでちょっと作ってみた方もいらっしゃるようです)
#irbでちょこちょこっと出来る、というのは盲点でした。言われてみれば当たり前なのですが……。
#2009/09/18 8:32追記。あれ、なんかshasumってコマンドが入っててSHA1やSHA2が取れるなあ。中身はPerlのDigest::SHAらしいんだけど……何の関係で入っているんだろう。クリーンインストールじゃないからこれがSnowLeopardのデフォルトなのかも分からないな。


md5はLeopardでも/sbinに入っているので通用しますね。
ちなみにshasum(sha1sumでしょうか?)は入っていませんでした。同じ機能にあたるgsha1sumはMacPortsのcoreutilsでインストールされるようです。
ご参考まで。
確か10.2とか10.3ぐらいからmd5は入っているそうです。
shasumはsha1sumとは違うもので、Perl 5.10の構成物の一部のようです。manすると Perl Programmers Reference Guideとしてmanが表示されます。
/usr/bin下に入ってますね。