class Digest::Class
此模块作为摘要实现类的基类。
Public Class Methods
Source
# File ext/digest/lib/digest.rb, line 55 def self.base64digest(str, *args) [digest(str, *args)].pack('m0') end
返回给定字符串的 base64 编码的哈希值。返回值已正确填充 '=' 并且不包含换行符。
Source
static VALUE
rb_digest_class_s_bubblebabble(int argc, VALUE *argv, VALUE klass)
{
return bubblebabble_str_new(rb_funcallv(klass, id_digest, argc, argv));
}
返回给定字符串的 BubbleBabble 编码的哈希值。
Source
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);
}
返回给定字符串的哈希值。这等同于 Digest::Class.new(*parameters).digest(string),其中额外的参数(如果有)将传递给构造函数,而字符串将传递给 digest()。
Source
# File ext/digest/lib/digest.rb, line 48 def self.file(name, *args) new(*args).file(name) end
创建一个摘要对象并读取给定的文件name。可选参数将传递给摘要类的构造函数。
p Digest::SHA256.file("X11R6.8.2-src.tar.bz2").hexdigest # => "f02e3c85572dc9ad7cb77c2a638e3be24cc1b5bea9fdbb0b0299c9668475c534"
Source
static VALUE
rb_digest_class_s_hexdigest(int argc, VALUE *argv, VALUE klass)
{
return hexencode_str_new(rb_funcallv(klass, id_digest, argc, argv));
}
返回给定字符串的十六进制编码的哈希值。这几乎等同于 Digest.hexencode(Digest::Class.new(*parameters).digest(string))。