ファイルのSHA-1ダイジェスト値を表示するRubyスクリプト

コマンドラインで名前を指定したファイルのメッセージダイジェスト値(アルゴリズムSHA-1)を表示するプログラムです。

# printsha1.rb
require 'digest/sha1'

FILENAME = ARGV[0]
print Digest::SHA1.hexdigest(File.open(FILENAME, "rb").read), " ", FILENAME, "\n"

実行結果です。以下では、http://www.gnupg.org/download/ から入手した gnupg-w32cli-1.4.9.exeというファイルのメッセージダイジェスト値を表示しています。

C:\work> ruby printsha1.rb gnupg-w32cli-1.4.9.exe
c2efad983dfe50e6d8007257bad2c76604be389a gnupg-w32cli-1.4.9.exe

これは、http://www.gnupg.org/download/ に書かれている gnupg-w32cli-1.4.9.exe のSHA-1 checksumと同じ値です。