class OpenSSL::HMAC

[edit]

要約

HMAC を表すクラス。

HMAC とは MAC(message authentication code, ハッシュ関数(MD5やSHAなど) と鍵の文字列をパラメータとするハッシュ関数)の一種です。

メッセージの認証に利用されます。

OpenSSL::Digest のようにある与えられた文字列のハッシュ値を直接計算するインターフェースとインスタンスを生成して入力文字列を順次与えてハッシュ値を計算するインターフェースの2つがあります。

HMAC は[RFC2104] で定義されています。

目次

特異メソッド
インスタンスメソッド

特異メソッド

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

渡された digest と key を用いて data の HMAC を計算し、その値をバイナリ文字列として返します。

digest には利用するハッシュ関数を表す文字列("md5", "sha256" など) を渡します。

[PARAM] digest:
利用するハッシュ関数
[PARAM] key:
利用する鍵の文字列
[PARAM] data:
HMAC を計算する文字列
hexdigest(digest, key, data) -> String[permalink][rdoc][edit]

渡された digest と key を用いて data の HMAC を計算し、その値を16進文字列で返します。

digest には利用するハッシュ関数を表す文字列("md5", "sha256" など) を渡します。

[PARAM] digest:
利用するハッシュ関数
[PARAM] key:
利用する鍵の文字列
[PARAM] data:
HMAC を計算する文字列
new(key, digest) -> OpenSSL::HMAC[permalink][rdoc][edit]

HMAC を計算するためのオブジェクトを生成します。

生成されたオブジェクトの内部状態は入力なしの状態にリセットされます。

digest には利用するハッシュ関数を表す文字列("md5", "sha256" など) を渡します。

[PARAM] key:
利用する鍵の文字列
[PARAM] digest:
利用するハッシュ関数

インスタンスメソッド

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

入力文字列を追加し、内部状態を更新します。

[PARAM] data:
入力文字列
digest -> String[permalink][rdoc][edit]

オブジェクトの内部状態から算出された HMAC をバイナリ文字列で返します。

hexdigest -> String[permalink][rdoc][edit]
to_s -> String
inspect -> String

オブジェクトの内部状態から算出された HMAC を 16進の文字列で返します。

reset -> self[permalink][rdoc][edit]

内部状態をリセットします。