ruby-changes:31589
From: zzak <ko1@a...>
Date: Wed, 13 Nov 2013 19:09:36 +0900 (JST)
Subject: [ruby-changes:31589] zzak:r43668 (trunk): * ext/digest/*: [DOC] Fix several typos and broken http links.
zzak 2013-11-13 19:09:28 +0900 (Wed, 13 Nov 2013) New Revision: 43668 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43668 Log: * ext/digest/*: [DOC] Fix several typos and broken http links. Improved examples for Digest overview and fixed a broken example in Digest::HMAC overview. This patch also adds a description of Digest::SHA256.bubblebabble to the Digest overview. Patched by @stomar [Bug #9027] Modified files: trunk/ChangeLog trunk/ext/digest/digest.c trunk/ext/digest/lib/digest/hmac.rb trunk/ext/digest/lib/digest.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 43667) +++ ChangeLog (revision 43668) @@ -1,3 +1,12 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Wed Nov 13 19:02:05 2013 Zachary Scott <e@z...> + + * ext/digest/*: [DOC] Fix several typos and broken http links. + Improved examples for Digest overview and fixed a broken example in + Digest::HMAC overview. This patch also adds a description of + Digest::SHA256.bubblebabble to the Digest overview. + + Patched by @stomar [Bug #9027] + Wed Nov 13 18:32:12 2013 Zachary Scott <e@z...> * ext/openssl/ossl_config.c: [DOC] Document the following: Index: ext/digest/digest.c =================================================================== --- ext/digest/digest.c (revision 43667) +++ ext/digest/digest.c (revision 43668) @@ -32,37 +32,58 @@ RUBY_EXTERN void Init_digest_base(void); https://github.com/ruby/ruby/blob/trunk/ext/digest/digest.c#L32 * * You may want to look at OpenSSL::Digest as it supports 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 + * A cryptographic hash function is a procedure that takes data and returns 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 + * == Examples * * require 'digest' * * # Compute a complete digest + * Digest::SHA256.digest 'message' #=> "\xABS\n\x13\xE4Y..." + * * sha256 = Digest::SHA256.new - * digest = sha256.digest message + * sha256.digest 'message' #=> "\xABS\n\x13\xE4Y..." + * + * # Other encoding formats + * Digest::SHA256.hexdigest 'message' #=> "ab530a13e459..." + * Digest::SHA256.base64digest 'message' #=> "q1MKE+RZFJgr..." * * # Compute digest by chunks - * sha256 = Digest::SHA256.new - * sha256.update message1 - * sha256 << message2 # << is an alias for update + * md5 = Digest::MD5.new + * md5.update 'message1' + * md5 << 'message2' # << is an alias for update + * + * md5.hexdigest #=> "94af09c09bb9..." + * + * # Compute digest for a file + * sha256 = Digest::SHA256.file 'testfile' + * sha256.hexdigest * - * digest = sha256.digest + * Additionally digests can be encoded in "bubble babble" format as a sequence + * of consonants and vowels which is more recognizable and comparable than a + * hexadecimal digest. + * + * require 'digest/bubblebabble' + * + * Digest::SHA256.bubblebabble 'message' #=> "xopoh-fedac-fenyh-..." + * + * See the bubble babble specification at + * http://web.mit.edu/kenta/www/one/bubblebabble/spec/jrtrjwzi/draft-huima-01.txt. * * == Digest algorithms * - * Different digest algorithms (or hash functions) are available : + * Different digest algorithms (or hash functions) are available: * * HMAC:: - * See FIPS PUB 198 The Keyed-Hash Message Authentication Code (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 + * As Digest::RMD160. + * See http://homes.esat.kuleuven.be/~bosselae/ripemd160.html. * SHA1:: - * See FIPS 180 Secure Hash Standard + * See FIPS 180 Secure Hash Standard. * SHA2 family:: * See FIPS 180 Secure Hash Standard which defines the following algorithms: * * SHA512 @@ -70,11 +91,7 @@ RUBY_EXTERN void Init_digest_base(void); https://github.com/ruby/ruby/blob/trunk/ext/digest/digest.c#L91 * * 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 + * http://csrc.nist.gov/publications/PubsFIPS.html. */ static VALUE Index: ext/digest/lib/digest/hmac.rb =================================================================== --- ext/digest/lib/digest/hmac.rb (revision 43667) +++ ext/digest/lib/digest/hmac.rb (revision 43668) @@ -41,7 +41,7 @@ module Digest https://github.com/ruby/ruby/blob/trunk/ext/digest/lib/digest/hmac.rb#L41 # hmac.update(buf) # end # - # puts hmac.bubblebabble + # puts hmac.hexdigest # class HMAC < Digest::Class Index: ext/digest/lib/digest.rb =================================================================== --- ext/digest/lib/digest.rb (revision 43667) +++ ext/digest/lib/digest.rb (revision 43668) @@ -21,7 +21,7 @@ module Digest https://github.com/ruby/ruby/blob/trunk/ext/digest/lib/digest.rb#L21 end class ::Digest::Class - # creates a digest object and reads a given file, _name_. + # Creates a digest object and reads a given file, _name_. # Optional arguments are passed to the constructor of the digest # class. # @@ -40,7 +40,7 @@ module Digest https://github.com/ruby/ruby/blob/trunk/ext/digest/lib/digest.rb#L40 end module Instance - # updates the digest with the contents of a given file _name_ and + # Updates the digest with the contents of a given file _name_ and # returns self. def file(name) File.open(name, "rb") {|f| -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/