www.suzu841.com | mrs.suzu841.com

neko1sa.gif md5_CentOS4.5

この頃、 md5sum を使うことが度々あります。
linux では、 md5sum 、BSD では md5 とも・・・。
以下は私のマシンに入っているLinux( CentOS 4.5 )の md5sum の man ( manual ) です。
なお、md5sumについての記述は2009年12月に書いたものが こちらにあります。



md5sum

MD5SUM(1)


名前 md5sum - MD5 ハッシュチェックサムを計算・チェックする

書式 md5sum [-bctw] [--binary] [--check] [--status] [--text] [--warn] [FILE...]

md5sum [--help] [--version]
説明 md5sum は 128 ビットのチェックサム (「指紋 (fingerprint)」「メッセージ ダイジェスト」と呼ばれることもある) を FILE 各々に対して計算して表示す る。 FILE が一つも与えられないと標準入力から読み込む。また FILE が ‘-’ だった場合には、そのファイルには標準入力が用いられる。

チ ェ ックサムを計算したときの各入力 FILE に対する出力フォーマットは、 MD5 sum 値・スペース・ファイルタイプを示す文字 (バイナリなら ‘*’、テキ ストなら ‘ ’)・ファイル名、からなる。 --check は入力がこのフォーマット であるものとみなす。

オプション
-b, --binary
各入力ファイル FILE を場異なるモードで読み込む。 Unix システ ム で はバイナリファイルとテキストファイルの区別がないので、このオ プションは何の効果も無い。これは DOS プラットフォームではデフォ ルトになっている。

-c, --check
指 定された FILE それぞれからファイル名とチェックサムのペアを読 み込み、各ファイルに対応するチェックサムが正しいかどうかを報 告 する。 --check は入力に md5sum 自身の出力と同じフォーマットを期 待する。

例えば:
md5sum *.txt > checksums.md5
md5sum --check checksums.md5

--text すべての入力ファイルをテキストファイルとして扱う。

-w, --warn
チェックサムを調べるとき、正しくない書式の MD5 チェックサム行に 対 して警告を発する。このオプションは、チェック入力の一部だけが 有効なような、特殊な場合以外はあまり役に立たない。

--status
状態を示すリターンコードのみを返し、黙って終了する。警告やチ ェ ッ クサムの間違いは出力されないが、ファイルがオープンできない、 読み込めない等の動作エラーは出力する。成功した場合の終了コー ド は 0 で、これはすべてがパスし、エラーが全くなかった場合にのみ返 される。それ以外の場合は 0 以外の値が返される。

--help 標準出力に使用方法のメッセージを出力して正常終了する。

--version 標準出力にバージョン情報を出力して正常終了する。
注意
プログラムのバグについては bug-textutils@gnu.org に報告してください。 man ページは Ragnar Hojland Espinosa が 作成しました。


GNU textutils 2.1 7 October 2002 MD5SUM(1)

linux(CentOS) でmd5sum のハッシュ値の求め方

ここではとりあえず、「 md5sum 」を用いて「ハッシュ値」を求める簡単な使い方だけを説明したいと思います。

例として使う文字列は「 hakone0460 」と言う文字列を使ってみます。
ですから、実際にこれを読んだ方々は、この文字列を変更してお使いくださいね♪


まずひとつ目の方法ですが、以下に記す方法は、ワンテンポ「ハッシュ値」が表示されるのが遅くなります。

まず、デスクトップ上で右クリックしメニューから「端末」を選択します。


「端末」が表示されました。

次に使う「 md5sum 」と半角文字で入力して、「 Enter 」キーを押します。


「ハッシュ値」を求める「文字列」を入力して、「 Enter 」キーを押します。




------------------------------------------------------------------------------------

ふたつ目の方法です。


これは直接「 md5sum 」に文字列を投げますので、「ハッシュ値」の返りもすぐに表示されます。

まず、デスクトップ上で右クリックしメニューから「端末」を選択します。これは上記と同じく変わりません

これに「 echo hakone0460 | md5sum 」と入力して Enter キーを押します。

この時に使う「 | 」の記号は「 l(エル)」ではなく、「パイプ」と呼びます。たいていのキーボードでは、ファンクションキーの下の数字キーが書かれている列の右から2つ目に位置しているようです。

瞬時に「ハッシュ値」が表示されました。



------------------------------------------------------------------------------------

次にhashe(ハッシュ)・message digest(メッセージダイジェスト)・フィンガープリント (fingerprint) ・チェックサム (checksum) とも呼ばれ、あるファイルよりハッシュ関数にて算出される値を求めてみます。
このハッシュ値は、元のデータと同じものを作成するのは極めて困難な事から、「一方向」と呼ばれています。
データファイル、もしくはファイルに最初からついている「ハッシュ値」と、ダウンロードしたファイルを自分のマシン上で「 md5sum 」を用いて得た「ハッシュ値」とを使って、ファイルの同一性・ファイルの破損・または改竄の有無を比較・確認するために、よく利用されます。

例えば「 sample.txt 」と言う名前のファイルをダウンロードとかで手に入れたとします。
この手に入れた「 sample.txt 」には、ある「 md5sum 」の「ハッシュ値」が付いていました。
この「ハッシュ値」とダウンロードした「 sample.txt 」の中味が間違いなく同一のものかどうか、ダウンロードした時に壊れてしまっていないかどうか、また、改変されていないかどうかを調べるために、「 md5sum 」を使って「ハッシュ値」を求めます。


「 cat samle.txt | md5sum 」と入力して「 Enter 」キーを押します。

samle.txt の内容を 見て、ハッシュ値を返しました。


このハッシュ値とファイルについているハッシュ値とが同じであれば、何も問題はないということになります。



以上、簡単に「 md5sum 」の使い方を述べてみました。

Windows でmd5sum のハッシュ値を求めるには?

残念ながら、Windows はデフォルトでは「 md5 」も、「 md5sum 」も使えません。
使えるようにするためにはいろいろな方法があります。
「 Cygwin 」などを入れるのもよし、他の「 md5 」や「 md5sum 」ツールを使うのもいいと思います。
中には「 path を通す」必要のあるものもあるかもしれませんが・・・。

「path を通す」とはどういうことヨ? と、いう方たちのために簡単に説明します。
「path を通す」とは、インストールしたコマンドファイルや、実行ファイルの場所をOSに登録し、ユーザソフトとしてアクセスできるようにすること、だと私は思っています。
もっと簡単に言えば、「このソフト(もしくはCommandファイル)は、ここにあるからネ♪」とOSに教えてあげる事・・・と。

例を挙げて説明してみます。例えば「mxd5.exe」と言うコマンドファイルがあるとして、これの登録をしてみます。
なお、ここで使われる画像は私のマシンのWindows XP professional のキャプチャー画像になります。
「path を通す」には何通りかの方法があると思います。
ひとつは、レジストリを直接いじくってしまう方法、もうひとつはコマンドプロンプトから「set コマンド」で追加する方法。
そして、もうひとつはコントロールパネルのシステム環境変数からの追加方法と。
ここでは、標準になっているシステム環境変数からの追加方法を簡単に説明します。

まず、コントロールパネル → システム → 詳細設定 → 環境変数 と開いていきます。

ここで「システム環境変数」の窓から「path」と書かれた項目を探し、「編集」ボタンを押します。



最後のファイル名の後の区切りには「 ; (セミコロン)」を入力します。そして新しく追加するファイルをどこへ置いたのかを正確に記します。ここでは、「 C:\WINDOWS\system32\mxd5.exe 」となります。
つまり、「Cドライブ」の「 WINDOWS 」というフォルダーの中の「 system32 」というフォルダーにmxd5.exeを置きました、と。



----------------------------------------------------------------------------

では、実際に私のWindows XP professional に入っている「Cygwin」で「 md5sum 」を実行してみます。


上のLinux と同じように「 echo hakone0460 | md5sum 」と入力し、Enter キーを押します。

Windows上で、md5 のハッシュ値を得られました。


さて、Linux(CentOS)で得たmd5 のハッシュ値と、Windows上で得たmd5 のハッシュ値を比較してみました。


Linux(CentOS)とWindows XP professional と言う違いはあっても、同じ文字列(ここでは例として hakone0460)に対しての 「ハッシュ値」に変化はありませんでした。
ただし、直接 Windows のパスの通っているシステムフォルダへ md5.exe などをインストールして求める場合にはこのかぎりではありません。