[#43369] dRuby に CGI を渡す→script_uri が上手く取得出来ない — 石井 大海 <banzaida@...>

こんばんは、konnです。

10 messages 2007/04/05

[ruby-list:43431] Re: MD5の値が合わない原因は?

From: moonwolf@...
Date: 2007-04-12 20:33:56 UTC
List: ruby-list #43431
MoonWolfです。

岩崎 弘孝 <IH000667@mb.taiyokogyo.co.jp>:
> ruby -r md5 -e 'puts MD5.new(open("ruby-1.8.5-p35.tar.gz").read).
hexdigest'
> とすると
> 26daa8ac0fb60abe9d366a967d66e3db
> と表示されました。
> 
> 他のファイルも試しましたが、同様に異なる値を表示します。
> そもそもMD5の使い方が正しいのかも自身が無い状況です。

md5ではなくdigest/md5を使った方が良いと思います。
SHA-1などの他のアルゴリズムも統一されたインタフェースで使えます。

> このような違いが発生する原因にはどのようなものが考えられますか?
> 
> 環境は
> ruby 1.8.5 (2006-12-25 patchlevel 12) [i386-mswin32]
> です。

バイナリモードで開くか、IO#binmodeでバイナリモードに切り替えないと駄目です。
open("ruby-1.8.5-p35.tar.gz","rb")としてバイナリモードで開くようにしてみて
ください。
ちなみに、IO.readだとバイナリモードの指定が出来ないのでopenしてからreadし
ないと駄目です。

In This Thread

Prev Next