Project

General

Profile

Bug #9027 ยป rdoc_ext_digest.patch

stomar (Marcus Stollsteimer), 10/16/2013 08:35 PM

View differences:

digest.c (Arbeitskopie)
*
* 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
*
* digest = sha256.digest
* md5.hexdigest #=> "94af09c09bb9..."
*
* # Compute digest for a file
* sha256 = Digest::SHA256.file 'testfile'
* sha256.hexdigest
*
* 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
......
* * 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
lib/digest/hmac.rb (Arbeitskopie)
# hmac.update(buf)
# end
#
# puts hmac.bubblebabble
# puts hmac.hexdigest
#
class HMAC < Digest::Class
lib/digest.rb (Arbeitskopie)
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.
#
......
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|
    (1-1/1)