[root]/ext/digest/lib
digest
(1 files, 274 lines)
* ext/digest/lib/digest.rb (Digest::self.const_missing): Drop
autoloads for sha2 classes in favor of handling in
const_missing(), to work around a problem exposed on OS X.
10 lines of code changed in:
set svn:eol-style
0 lines of code changed in:
* ext/digest/lib/digest.rb: Follow the framework updates.
12 lines of code changed in:
* ext/digest: Prefix C constants with RUBY_ and C type names with
rb_ to avoid name clash in writing extensions.
* ext/digest: Introduce Digest::Class and Digest::Instance for
ease of implementing subclasses and add-ons, inspried by
gotoyuzo.
* ext/digest: The Digest::Instance module now requires and assumes
that any instance be resettable and clonable, and add some
convenient instance methods such as "new()", for creating a new
copy, parameter taking "digest()" and "hexdigest()", for instant
calculation. These methods make digest instances work just like
digest classes.
* ext/digest/sha2/lib/digest/sha2.rb:
Add the Digest::SHA2 class to wrap up SHA2 variants: SHA256,
SHA384 and SHA512, hoping this module would make a decent
example of a digest subclass written in Ruby.
* ext/digest/lib/digest.rb: Adjust autoload entries for SHA2
classes.
* ext/digest/lib/digest/hmac.rb: Follow the framework updates.
3 lines of code changed in:
* ext/digest/lib/digest.rb (Digest): Try to auto-load non-standard
digest modules when a specified digest class is missing.
* ext/digest/lib/digest.rb: Define Digest(name) for ease of
dynamically selecting a hashing algorithm.
15 lines of code changed in:
* ext/digest/lib/md5.rb, ext/digest/lib/sha1.rb: Remove those
compatibility stub libraries.
0 lines of code changed in:
* ext/digest/lib/digest.rb (Digest): Require digest.so and fix the
breakage. Point out by NAKAMURA Usaku in [ruby-dev:29619].
2 lines of code changed in:
* ext/digest/lib/digest.rb (Digest::Base.file): open a file in binary
mode. suggested by Kazuhiro NISHIYAMA. [ruby-dev:29579]
1 lines of code changed in:
add a document for Digest::Base.file.
4 lines of code changed in:
* ext/digest/lib/digest.rb (Digest::Base.file): new method.
[ruby-dev:29572]
13 lines of code changed in:
* ext/digest/lib/digest.rb: new file.
8 lines of code changed in:
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.
0 lines of code changed in: