class Digest::Class
Этот модуль является базовым классом для классов реализации дайджестов.
Публичные методы класса
# File ext/digest/lib/digest.rb, line 41
def self.base64digest(str, *args)
[digest(str, *args)].pack('m0')
end Возвращает значение хеша, закодированное в base64, заданной строки. Результат должным образом заполняется символами '=' и не содержит символов перевода строки.
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, заданной строки.
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().
# File ext/digest/lib/digest.rb, line 34 def self.file(name, *args) new(*args).file(name) end
Создаёт объект дайджеста и считывает указанный файл, name. Дополнительные аргументы передаются в конструктор класса дайджеста.
p Digest::SHA256.file("X11R6.8.2-src.tar.bz2").hexdigest
# => "f02e3c85572dc9ad7cb77c2a638e3be24cc1b5bea9fdbb0b0299c9668475c534"
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)).
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.