こんばんは、sheepman です。

Apache の htpasswd にはパスワードを crypt ではなくて MD5 や SHA1 を使って
パスワードのハッシュ値を保存するオプションがあります。
webrick/httpauth/htpasswd.rb では MD5 や SHA1 には対応していないので
例外を投げておいたほうが良いと思います。マニュアルによると Windows では
htpasswd はデフォルトで MD5 を使うらしいんで。

Index: htpasswd.rb
===================================================================
RCS file: /src/ruby/lib/webrick/httpauth/htpasswd.rb,v
retrieving revision 1.1
diff -u -r1.1 htpasswd.rb
--- htpasswd.rb 23 Jul 2003 16:51:36 -0000      1.1
+++ htpasswd.rb 29 Dec 2004 16:15:33 -0000
@@ -32,7 +32,15 @@
           open(@path){|io|
             while line = io.gets
               line.chomp!
-              user, pass = line.split(":")
+              case line
+              when %r!\A[^:]+:[a-zA-Z0-9./]{13}\z!
+                user, pass = line.split(":")
+              when /:\$/, /:{SHA}/
+                raise NotImplementedError,
+                      'MD5, SHA1 .htpasswd file not supported'
+              else
+                raise StandardError, 'bad .htpasswd file'
+              end
               @passwd[user] = pass
             end
           }

-- 
sheepman / TAMURA Takashi
sheepman / tcn.zaq.ne.jp http://sheepman.parfait.ne.jp/