mrs.suzu841.com 管理人の四方山(よもやま) tips





edit.gifCentOS5 md5sum 求め方と使用方法


端末( もしくは console 画面 )上で以下のように記述してEnterキーを押しますが、この時の hoge12345 という文字列はサンプルですので、適時変更してください。また、| は、l ( エル ) でも、i ( アイ ) の大文字でもなく、パイプです。


$ echo hoge12345 | md5sum

下のような値が返されました。


$ 95ec1ac08527de11a8c6afaac067accf -

この値を何かテキストとして残しておきたい場合には、以下のようにファイル名を後に指示しておきます。仮にここでは md5sum.txt とします。


$ echo hoge12345 | md5sum > md5sum.txt

ここで作成した " md5sum.txt " に何かのハッシュ値をまた追記しておきたい場合には > が >> のように2つ重なります




edit.gifCentOS5 md5sum ハッシュ関数の使用方法

例えばダウンロードした hoge12345 というファイルにはあるハッシュ関数がついていました。これを用いて hoge12345 というファイルが改ざんされていないかどうかを確認したいと思います。先ほど hoge12345 ファイルのハッシュ値を md5sum.txt に残すように指示しておきましたので、これにダウンロードしたときについていたハッシュ値を追記し、チェックします。チェックするには以下のように端末で入力してEnterキーを押します。


$ echo -c md5sum.txt

正しければ " report.txt: 完了 " というメッセージを表示し、正しくないときには、 " report.txt: 失敗 " というメッセージが表示されます。

また、ディレクトリの中のファイル全部のハッシュ値を求めたいときには以下のようにします。
(ここでは例として、ディレクトリの名前を " dox_work " とします。)


$ md5sum dox_work/* >md5sum.txt

また、この " dox_work " の中のファイル全てのハッシュ値を、先の " md5sum.txt " に追記をしておきたい場合は以下のように入力します。


$ md5sum dox_work/* >> md5sum.txt


チェックしてどこも異常がなければ、そのまま"完了"で終わりますが、どこかが変更されていたりすると"失敗" という言葉が出て、 " md5sum: WARNING: 1 of 6 computed checksums did NOT match " などとメッセージが表示されます。この 1 of 6 という文字列はファイルの数ですので、チェックしたファイルの数により変化します。

md5sum でチェックできるのはここまでになりますので、どこが違うかを探し出すのは、diffコマンドなどで調べます。
( 当然のことながら、元のファイルをバックアップしておかなければ比較のしようがありませんので、念のため。)



※ 理由はわからないのですが以前、Windows版のmd5sum.exe や、cygwin のmd5sum.exe を抜き取って、Windowsのパスの通っているディレクトリへ入れて、コマンドプロンプトでハッシュ値を求めると、Linux/Unix とは違う値になってしまったことがありました。何度やっても違う値が帰ってきました。 WindowsのCygwinを使って求める場合は Linux/Unix で求めた値と同じになりました。