From: Daniel Schierbeck Date: 2005-09-14T23:46:34+09:00 Subject: String#digest I don't think this already exists, but if it does I apologise for your inconvenience. I propose that a method String#digest (or #checksum or whatever) is defined in the Digest class of the standard library. # Current digest = Digest::SHA1.new(str) # Proposed digest = str.digest(:sha1) This can be implemented fairly easily: class String def digest (type = :md5) case type when :md5 Digest::MD5.new(self) when :sha1 Digest::SHA1.new(self) end end end String#digest does not have to work like it does in my example. The key point here is that a message digest / hashsum should be a property of the string. I think it's the Ruby Way to Do It (TM). Comments and constructive criticism are appreciated. Flames are not. Cheers and remember Talk Like A Pirate Day the 19th, Daniel