Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::Digestクラス

class OpenSSL::Digest

クラスの継承リスト: OpenSSL::Digest < Digest::Class < Object < Kernel < BasicObject

要約

ハッシュ関数のためのインターフェースを提供するクラスです。

このインターフェースには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 new
インスタンスメソッド
<< update block_length digest_length name reset

特異メソッド

digest(name, data) -> String[permalink][rdoc]

data のダイジェストを計算します。

name でハッシュ関数を指定します。

[PARAM] name:
ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
[PARAM] data:
ダイジェストを計算する文字列
new(name, data=nil) -> OpenSSL::Digest[permalink][rdoc]

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

name でハッシュ関数の種類を選びます。

data に文字列を渡すと、その文字列でオブジェクトの内部状態を更新します。

[PARAM] name:
ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
[PARAM] data:
入力文字列
[EXCEPTION] RuntimeError:
サポートされていないアルゴリズムを指定した場合に発生します

インスタンスメソッド

update(data) -> self[permalink][rdoc]
self << data -> self

data でダイジェストオブジェクトの内部状態を更新します。

[PARAM] data:
入力文字列
block_length -> Integer[permalink][rdoc]

ハッシュ関数のブロックサイズを返します。

digest_length -> Integer[permalink][rdoc]

ハッシュ値の長さ(バイト数)を返します。

name -> String[permalink][rdoc]

ハッシュ関数の名前を返します。

reset -> self[permalink][rdoc]

ダイジェストオブジェクトの内部状態をリセットします。