md5deep

| | コメント(0) | トラックバック(0)

・md5deep
http://md5deep.sourceforge.net/

MD5、SHA-1、SHA-256、Tiger、Whirlpoolのメッセージダイジェストを計算できます。
再帰的にディレクトリをたどって計算できます。
大きなファイルは計算の進捗状況を表示できます。

md5sumだと再帰的に出来なくて困った事があったような記憶が。。

2007/10/27現在のバージョンは、2.0。

以下は、「md5deep」コマンドを使用しているが、「sha1deep.exe」「sha256deep.exe」「tigerdeep.exe」「whirlpooldeep.exe」も使える。

使ってみた

こういうディレクトリ構造を作成して、実行してみた。

+[日本語]
   +[dir1]
      +0010.txt
   +[dir1.txt]
      +0020.txt
   +0001.txt
   +0002.txt

実行結果部分の日本語は文字化けするっぽい。
ディレクトリ名などが化けます。

・ハッシュ値を計算

C:\日本語> md5deep *.txt
d3a5c525b34026d96db2fede5cadc3d4  C:\???\0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt
C:\???\dir1.txt: Is a directory

・パスを省略

C:\日本語> md5deep -b *.txt
d3a5c525b34026d96db2fede5cadc3d4  0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec  0002.txt
C:\???\dir1.txt: Is a directory

・再帰的にハッシュ値を計算

C:\日本語> md5deep -r *
d3a5c525b34026d96db2fede5cadc3d4  C:\???\0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt
2d2a4d005cadd9ae391d3346c00a5e9d  C:\???\dir1\0010.txt
aa936ac7b9611015918c9f1252229063  C:\???\dir1.txt\0020.txt
 
// ファイル名に「*.txt」を指定すると、
// 「dir1」ディレクトリ以下は再帰的に計算してくれないっぽい
// 「*.txt」ディレクトリ以下は計算してくれる
C:\日本語> md5deep -r *.txt
d3a5c525b34026d96db2fede5cadc3d4  C:\???\0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt
aa936ac7b9611015918c9f1252229063  C:\???\dir1.txt\0020.txt

・ファイル名を相対パスで表示

C:\日本語> md5deep dir1\*.txt
2d2a4d005cadd9ae391d3346c00a5e9d  C:\???\dir1\0010.txt
    ↓ 相対パスで表示する
C:\日本語> md5deep -l dir1\*.txt
2d2a4d005cadd9ae391d3346c00a5e9d  dir1\0010.txt

・(必ず?)アスタリスクをつける

C:\日本語> md5deep -k *
d3a5c525b34026d96db2fede5cadc3d4 *C:\???\0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec *C:\???\0002.txt
C:\???\dir1: Is a directory
C:\???\dir1.txt: Is a directory

・ハッシュファイルと実ファイルのハッシュ値を比較する

// ハッシュファイルを作成
C:\日本語> md5deep *.txt > txt.hash
C:\日本語> md5deep -r *.txt > txt-r.hash
 
// txt.hashのハッシュ値と一致するファイル名を表示
C:\日本語> md5deep -m txt.hash *.txt
C:\???\0001.txt
C:\???\0002.txt
C:\???\dir1.txt: Is a directory
 
// txt.hashのハッシュ値と一致するファイル名・ハッシュ値を表示
C:\日本語> md5deep -M txt.hash *.txt
d3a5c525b34026d96db2fede5cadc3d4  C:\???\0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt
C:\???\dir1.txt: Is a directory
 
// txt-r.hashのハッシュ値と一致するファイル名を表示
C:\日本語> md5deep -r -m txt-r.hash *.txt
C:\???\0001.txt
C:\???\0002.txt
C:\???\dir1.txt\0020.txt
 
// txt-r.hashのハッシュ値と一致するファイル名・ハッシュ値を表示
C:\日本語> md5deep -r -M txt-r.hash *.txt
d3a5c525b34026d96db2fede5cadc3d4  C:\???\0001.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt
aa936ac7b9611015918c9f1252229063  C:\???\dir1.txt\0020.txt
 
// ここで「txt.hash」「txt-r.hash」を編集して
// 「txt2.hash」「txt-r2.hash」として保存する。
// それぞれ「0002.txt」のハッシュ値を変更しておく
 
// txt.hashのハッシュ値と一致しないファイル名を表示
C:\日本語> md5deep -x txt.hash *.txt
C:\???\0002.txt
C:\???\dir1.txt: Is a directory
 
// txt.hashのハッシュ値と一致しないファイル名・ハッシュ値を表示
C:\日本語> md5deep -r -x txt-r.hash *.txt
C:\???\0002.txt
 
// txt-r.hashのハッシュ値と一致しないファイル名を表示
C:\日本語> md5deep -X txt.hash *.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt
C:\???\dir1.txt: Is a directory
 
// txt-r.hashのハッシュ値と一致しないファイル名・ハッシュ値を表示
C:\日本語> md5deep -r -X txt-r.hash *.txt
cb6f0ae6a719f1f52d5619199c7c4eec  C:\???\0002.txt

・「1g.dat」という1GBのファイルを作成し、進捗状況を表示しながら表示する

C:\日本語> md5deep -e 1g.dat
  C:\???\1g.dat: 123MB of 1000MB done, 00:01:11 left
      ↓ パーセントが増えていって・・・
  C:\???\1g.dat: 845MB of 1000MB done, 00:00:21 left
      ↓ 完了
  d31f792fb92244c6a46b13f447692c3b  C:\???\1g.dat

・ヘルプを表示

C:\> md5deep -h

同梱のREADME.TXTも参照のこと。

トラックバック(0)

このブログ記事を参照しているブログ一覧: md5deep

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/476

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2007年10月27日 16:42に書いたブログ記事です。

ひとつ前のブログ記事は「Firefox 2 の検索プラグイン (検索バー) その2」です。

次のブログ記事は「古いエントリの変更履歴 (2007/12)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

Powered by Movable Type 4.261