Class: Digest::Class
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
|
|
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Instance
|
|
Inherits: | Object |
Defined in: | ext/digest/digest.c, ext/digest/digest.c, ext/digest/bubblebabble/bubblebabble.c, ext/digest/lib/digest.rb |
Overview
This module stands as a base class for digest implementation classes.
Class Method Summary
-
.base64digest(str, *args)
Returns the base64 encoded hash value of a given string.
-
.digest(string, *parameters) ⇒ hash_string
Returns the hash value of a given string.
-
.file(name, *args)
Creates a digest object and reads a given file, name.
-
.hexdigest(string[, ...]) ⇒ hash_string
Returns the hex-encoded hash value of a given string.
- .new constructor Internal use only
Instance Method Summary
Instance - Included
#<< | Updates the digest using a given string and returns self. |
#== | If a string is given, checks whether it is equal to the hex-encoded hash value of the digest object. |
#base64digest | If none is given, returns the resulting hash value of the digest in a base64 encoded form, keeping the digest's state. |
#base64digest! | Returns the resulting hash value and resets the digest to the initial state. |
#block_length | Returns the block length of the digest. |
#bubblebabble | Returns the resulting hash value in a Bubblebabble encoded form. |
#digest | If none is given, returns the resulting hash value of the digest, keeping the digest's state. |
#digest! | Returns the resulting hash value and resets the digest to the initial state. |
#digest_length | Returns the length of the hash value of the digest. |
#file | Updates the digest with the contents of a given file name and returns self. |
#hexdigest | If none is given, returns the resulting hash value of the digest in a hex-encoded form, keeping the digest's state. |
#hexdigest! | Returns the resulting hash value in a hex-encoded form and resets the digest to the initial state. |
#inspect | Creates a printable version of the digest object. |
#length | Returns digest_obj.digest_length(). |
#new | Returns a new, initialized copy of the digest object. |
#reset | Resets the digest to the initial state and returns self. |
#size | Alias for Instance#length. |
#to_s | Returns digest_obj.hexdigest(). |
#update | Alias for Instance#<<. |
#finish | Finishes the digest and returns the resulting hash value. |
Constructor Details
.new
# File 'ext/digest/digest.c', line 493
static VALUE rb_digest_class_init(VALUE self) { return self; }
Class Method Details
.base64digest(str, *args)
Returns the base64 encoded hash value of a given string. The return value is properly padded with '=' and contains no line feeds.
# File 'ext/digest/lib/digest.rb', line 41
def self.base64digest(str, *args) [digest(str, *args)].pack('m0') end
.digest(string, *parameters) ⇒ hash_string
Returns the hash value of a given string. This is equivalent to Class
.new(*parameters).digest(string), where extra parameters, if any, are passed through to the constructor and the string is passed to #digest().
# File 'ext/digest/digest.c', line 457
static VALUE rb_digest_class_s_digest(int argc, VALUE *argv, VALUE klass) { VALUE str; volatile VALUE obj; if (argc < 1) { rb_raise(rb_eArgError, "no data given"); } str = *argv++; argc--; StringValue(str); obj = rb_obj_alloc(klass); rb_obj_call_init(obj, argc, argv); return rb_funcall(obj, id_digest, 1, str); }
.file(name, *args)
# File 'ext/digest/lib/digest.rb', line 34
def self.file(name, *args) new(*args).file(name) end
.hexdigest(string[, ...]) ⇒ hash_string
Returns the hex-encoded hash value of a given string. This is almost equivalent to Digest.hexencode(Digest::Class.new(*parameters).digest(string)).
# File 'ext/digest/digest.c', line 486
static VALUE rb_digest_class_s_hexdigest(int argc, VALUE *argv, VALUE klass) { return hexencode_str_new(rb_funcallv(klass, id_digest, argc, argv)); }