From: Tadayoshi Funaba Date: 1999-06-21T23:37:06+09:00 Subject: [ruby-dev:7155] MD5.hexdigest ふなばです。 MD5.hexdigest で結果が正しくないことがあるようです。 --- ext/md5/md5init.c.orig Tue Jun 8 16:35:50 1999 +++ ext/md5/md5init.c Mon Jun 21 12:05:59 1999 @@ -52,8 +52,7 @@ { MD5_CTX *md5, ctx; unsigned char digest[16]; - char buf[35]; - char *p = buf; + char buf[33]; int i; Data_Get_Struct(obj, MD5_CTX, md5); @@ -61,7 +60,7 @@ MD5Final(digest, &ctx); for (i=0; i<16; i++) { - sprintf(buf+i*2, "%x", digest[i]); + sprintf(buf+i*2, "%02x", digest[i]); } return rb_str_new(buf, 32); } @@ -70,7 +69,6 @@ md5_clone(obj) VALUE obj; { - VALUE clone; MD5_CTX *md5, *md5_new; Data_Get_Struct(obj, MD5_CTX, md5); @@ -86,7 +84,6 @@ VALUE* argv; VALUE class; { - int i; VALUE arg, obj; MD5_CTX *md5; @@ -103,6 +100,7 @@ return obj; } +void Init_md5() { cMD5 = rb_define_class("MD5", rb_cObject); --- ext/md5/md5.txt.orig Thu Jan 21 15:56:40 1999 +++ ext/md5/md5.txt Mon Jun 21 12:11:07 1999 @@ -1,6 +1,6 @@ .\" md5.doc - -*- Indented-Text -*- created at: Fri Aug 2 12:01:27 JST 1996 -** MD5(クラス) +** MD5(Class) A class to implement MD5 Message-Digest Algorithm by RSA Data Security, Inc., described in RFC1321. [8,16,20,29,78,65,2,14,26,12,12,28,71,114,12,13,12,82,72,21,17,4,10,2,95]. each_with_index{|x,i| $><<(x^'Begin landing your troops'[i]).chr} ふなば ただよし