Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > digestライブラリ > Digest::Baseクラス

class Digest::Base

クラス・モジュールの継承リスト: Digest::Base < Digest::Instance < Digest::Class < Object < Kernel < BasicObject

要約

すべての Digest::XXX クラスの基底クラスです。

例えば、MD5 値を得るには以下のようにします。

require 'digest/md5'

p Digest::MD5.hexdigest('abc')               #=> '900150983cd24fb0d6963f7d28e17f72'
p Digest::MD5.file('ruby-1.8.5.tar.gz').to_s #=> '3fbb02294a8ca33d4684055adba5ed6f'

すべての Digest::XXX クラスは以下の共通インタフェースを持ちます。

特異メソッド

定義 説明
digest(str) -> String

与えられた文字列に対するハッシュ値を文字列で返します。 new(str).digest と等価です。

file(path) -> object

新しいダイジェストオブジェクトを生成し、ファイル名 file で指定したファイルの内容を読み込み、そのダイジェストオブジェクトを返します。

hexdigest(str) -> String

与えられた文字列に対するハッシュ値を、ASCIIコードを使って 16進数の列を示す文字列にエンコードして返します。 new(str).hexdigest と等価です。

new -> Digest::Base

新しいダイジェストオブジェクトを生成します。

インスタンスメソッド

定義 説明
update(str) -> self
self << str -> self

文字列を追加します。self を返します。複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと同じです。すなわち m.update(a); m.update(b) は m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価です。

self == md -> bool

与えられたダイジェストオブジェクトと比較します。

self == str -> bool

与えられた文字列を hexdigest 値と見て、自身の hexdigest 値と比較します。

block_length -> Integer

ダイジェストのブロック長を取得します。例えば、Digest::MD5であれば64、Digest::SHA512であれば128です。

dup -> Digest::Base
clone -> Digest::Base

ダイジェストオブジェクトの複製を作ります。

digest -> String

updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。

digest! -> String

updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。 Digest::Base#digestと違い、メソッドの処理後、オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。

digest_length -> Integer
length -> Integer
size -> Integer

ダイジェストのハッシュ値のバイト長を取得します。例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。

file(path) -> self

ファイル名 file で指定したファイルの内容を読み込んでダイジェストを更新し、オブジェクト自身を返します。

hexdigest -> String
to_s -> String

updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。

hexdigest! -> String

updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。 Digest::Base#hexdigestと違い、メソッドの処理後、オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。

reset -> self

オブジェクトの状態を初期状態(newした直後と同様の状態)に戻し、オブジェクト自身を返します。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined !~ <=> === =~ _dump class define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap then to_a to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE