1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/digest/digest.txt
knu 76d7dae26a Import the "digest" module and the submodules, from the Rough Ruby
project.

  ext/digest:
    This module provides the module Digest and the abstract class
    Digest::Base.

  ext/digest/md5 (which obsoletes ext/md5):
    This module provides the class Digest::MD5 which implements the
    MD5 Message-Digest Algorithm.

  ext/digest/rmd160:
    This module provides the class Digest::RMD160 which implements the
    RIPEMD-160 cryptographic hash function.

  ext/digest/sha1 (which obsoletes ext/sha1):
    This module provides the class Digest::SHA1 which implements the
    SHA-1 Secure Hash Algorithm.

  ext/digest/sha2:
    This module provides the classes Digest::SHA256, Digest::SHA384
    and Digest::SHA512 which implement the SHA-256, SHA-384 and
    SHA-512 Secure Hash Algorithms, respectively.

  lib/md5.rb, lib/sha1.rb:
    These files are provided for backward compatibility.

All these classes have the common API, which previously ext/md5 and
ext/sha1 modules provided.  While the new API keeps 100% backward
compatibility, it has been enriched with several utility methods.

Read digest.txt for further details.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-13 20:06:14 +00:00

113 lines
2.6 KiB
Text

.\" digest.txt - -*- Indented-Text -*- created at: Fri May 25 08:13:50 JST 2001
$RoughId: digest.txt,v 1.9 2001/07/13 19:46:51 knu Exp $
$Id$
** MD5(Class)
A class to implement the MD5 Message-Digest Algorithm by RSA Data
Security, Inc., described in RFC1321.
Superclass: Digest::Base
require 'digest/md5'
** SHA1(Class)
A class to implement the SHA-1 Secure Hash Algorithm by NIST (the US'
National Institute of Standards and Technology), described in FIPS PUB
180-1.
Superclass: Digest::Base
require 'digest/sha1'
** SHA256(Class)
** SHA384(Class)
** SHA512(Class)
Classes to implement the SHA-256/384/512 Secure Hash Algorithm(s) by
NIST (the US' National Institute of Standards and Technology),
described in FIPS PUB 180-2.
Superclass: Digest::Base
require 'digest/sha2'
** RMD160(Class)
A class to implement the RIPEMD-160 cryptographic hash function,
designed by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel.
Superclass: Digest::Base
require 'digest/rmd160'
Those above classes provide a common interface as shown below.
Class Methods:
new([str])
Creates a new digest object. If a string argument is given,
it is added to the object. (see update.)
digest(str)
Immediately calculates and return the hash of the given
strings as a string. Equivalent to new(str).digest.
hexdigest(str)
Immediately calculates and return the hash of the given
strings as a string of hexadecimal digits. Equivalent to
new(str).hexdigest.
Methods:
clone
Creates a copy of the digest object.
digest
Returns the hash of the added strings as a string of 16 bytes
for MD5, 20 bytes for SHA1 and RMD160, 32 bytes for SHA256, 48
bytes for SHA384, and 64 bytes for SHA512.
hexdigest
to_s
Returns the hash of the added strings as a string of 32
hexadecimal digits for MD5, 40 hexadecimal digits for SHA1 and
RMD160, 64 hexadecimal digits for SHA256, 96 hexadecimal
digits for SHA384, and 128 hexadecimal digits for SHA512.
This method is equal to:
def hexdigest
digest.unpack("H*")[0]
end
update(str)
<< str
Appends the string str to the digest object. Repeated calls
are equivalent to a single call with the concatenation of all
the arguments, i.e. m.update(a); m.update(b) is equivalent to
m.update(a + b) and m << a << b is equivalent to m << a + b.
== md
Checks if the object is equal to the given digest object.
== str
Regards the value as either a digest value or a hexdigest
value (depending on the length) and checks if the object is
equal to the given string.
-------------------------------------------------------
Local variables:
fill-column: 70
end: