ruby-changes:20901
From: drbrain <ko1@a...>
Date: Sat, 13 Aug 2011 02:27:48 +0900 (JST)
Subject: [ruby-changes:20901] drbrain:r32950 (trunk): * ext/digest/digest.c: Add documentation for the Digest module. Patch by
drbrain 2011-08-13 02:23:11 +0900 (Sat, 13 Aug 2011) New Revision: 32950 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32950 Log: * ext/digest/digest.c: Add documentation for the Digest module. Patch by Sylvain Daubert. [Ruby 1.9 - Bug #5167] Modified files: trunk/ChangeLog trunk/ext/digest/digest.c Index: ChangeLog =================================================================== --- ChangeLog (revision 32949) +++ ChangeLog (revision 32950) @@ -1,3 +1,8 @@ +Sat Aug 13 02:19:57 2011 Eric Hodel <drbrain@s...> + + * ext/digest/digest.c: Add documentation for the Digest module. Patch + by Sylvain Daubert. [Ruby 1.9 - Bug #5167] + Sat Aug 13 01:56:11 2011 Eric Hodel <drbrain@s...> * lib/rake: Update to Rake 0.9.2.2. Prevent pollution of toplevel Index: ext/digest/digest.c =================================================================== --- ext/digest/digest.c (revision 32949) +++ ext/digest/digest.c (revision 32950) @@ -29,6 +29,53 @@ * Document-module: Digest * * This module provides a framework for message digest libraries. + * + * You may want to look at OpenSSL::Digest as it supports support more + * algorithms. + * + * A cryptographic hash function is a procedure that takes data and return a + * fixed bit string : the hash value, also known as _digest_. Hash functions + * are also called one-way functions, it is easy to compute a digest from + * a message, but it is infeasible to generate a message from a digest. + * + * == Example + * + * require 'digest' + * + * # Compute a complete digest + * sha256 = Digest::SHA256.new + * digest = sha256.digest message + * + * # Compute digest by chunks + * sha256 = Digest::SHA256.new + * sha256.update message1 + * sha256 << message2 # << is an alias for update + * + * digest = sha256.digest + * + * == Digest algorithms + * + * Different digest algorithms (or hash functions) are available : + * + * HMAC:: + * See FIPS PUB 198 The Keyed-Hash Message Authentication Code (HMAC) + * RIPEMD-160:: + * (as Digest::RMD160) see + * http://homes.esat.kuleuven.be/~bosselae/ripemd160.html + * SHA1:: + * See FIPS 180 Secure Hash Standard + * SHA2 family:: + * See FIPS 180 Secure Hash Standard which defines the following algorithms: + * * SHA512 + * * SHA384 + * * SHA256 + * + * The latest versions of the FIPS publications can be found here: + * http://csrc.nist.gov/publications/PubsFIPS.html + * + * Additionally Digest::BubbleBabble encodes a digest as a sequence of + * consonants and vowels which is more recognizable and comparable than a + * hexadecimal digest. See http://en.wikipedia.org/wiki/Bubblebabble */ static VALUE -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/