ハッシュ関数のためのインターフェースを提供するクラスです。
このインターフェースには2通りの利用法が存在します。一方は文字列から直接ハッシュを計算する (OpenSSL::Digest.digest, Digest::Instance#hexdigest) 方法です。短い文字列のダイジェストを取るときにはこちらを使えばよいでしょう。
もう一つはダイジェストオブジェクトを作成して、文字列を順次 OpenSSL::Digest#update で渡すことでダイジェストを計算します。大きなファイルのハッシュ値を計算する場合などに利用します。
例:
require 'openssl' digest = OpenSSL::Digest.new("sha256") File.open(filename){|f| while data = f.read(1024) digest.update(data) end } puts digest.hexdigest
digest も参照してください。
digest(name, data) -> String
[permalink][rdoc]data のダイジェストを計算します。
name でハッシュ関数を指定します。
new(name, data=nil) -> OpenSSL::Digest
[permalink][rdoc]ダイジェストオブジェクトを生成します。
name でハッシュ関数の種類を選びます。
data に文字列を渡すと、その文字列でオブジェクトの内部状態を更新します。
update(data) -> self
[permalink][rdoc]self << data -> self
data でダイジェストオブジェクトの内部状態を更新します。
block_length -> Integer
[permalink][rdoc]ハッシュ関数のブロックサイズを返します。
digest_length -> Integer
[permalink][rdoc]ハッシュ値の長さ(バイト数)を返します。
name -> String
[permalink][rdoc]ハッシュ関数の名前を返します。
reset -> self
[permalink][rdoc]ダイジェストオブジェクトの内部状態をリセットします。