Objectcom.nttdocomo.util.MessageDigest
メッセージダイジェストを求めるためのクラスです。 任意のバイトデータからハッシュ値を計算します。 出力の長さはメッセージダイジェストのアルゴリズムに依存する固定長です。
メッセージダイジェストを計算するMessageDigestオブジェクトを得るためには、
getInstance(String algorithm)
メソッドにメッセージダイジェストのアルゴリズム名を指定します。
例えば、MD5アルゴリズムを使用するMessageDigestオブジェクトを得る場合、
getInstance("MD5") を使用します。
updateメソッドを使用してメッセージダイジェストを求める入力データを追加し、 ダイジェストを更新します。 updateメソッドは何度でも呼び出すことができます。 digestメソッドを呼び出すことにより、ダイジェストの計算が終了します。
resetメソッドを呼び出すことにより、ダイジェストの計算はリセットされ、 MessageDigestオブジェクトは初期状態に戻ります。 digestメソッドを呼び出した後も、 resetメソッドが呼び出された後と同じ初期状態に戻ります。
getInstance(String algorithm)
メソッドに対してアルゴリズム名 "MD5" または "SHA-1" を指定してください。
| メソッドの概要 | |
byte[] |
digest()
パディングなどの最終処理を行い、ダイジェストを取得します。 |
byte[] |
digest(byte[] buf)
指定されたバイト配列を入力値としてダイジェストを更新した後、 ダイジェストを取得します。 |
int |
digest(byte[] buf,
int off,
int len)
パディングなどの最終処理を行い、ダイジェストを取得します。 |
String |
getAlgorithm()
ダイジェストのアルゴリズム名を取得します。 |
int |
getDigestLength()
ダイジェストの長さをバイト数で取得します。 |
static MessageDigest |
getInstance(String algorithm)
指定されたアルゴリズムのMessageDigestオブジェクトを生成します。 |
static boolean |
isEqual(byte[] src,
byte[] dst)
2 つのダイジェストが等しいかどうかを比較します。 |
void |
reset()
ダイジェストをリセットします。 |
String |
toString()
このダイジェストの文字列表現を取得します。 |
void |
update(byte input)
指定されたバイトデータを入力値としてダイジェストを更新します。 |
void |
update(byte[] buf)
指定されたバイト配列を入力値としてダイジェストを更新します。 |
void |
update(byte[] buf,
int off,
int len)
指定されたバイト配列の一部を入力値としてダイジェストを更新します。 |
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| メソッドの詳細 |
public static MessageDigest getInstance(String algorithm)
algorithm - メッセージダイジェストのアルゴリズムを指定します。
NullPointerException - 引数 algorithm が null の場合に発生します。
IllegalArgumentException - サポートされないアルゴリズムを指定した場合に発生します。
public void update(byte input)
input - 入力バイトデータを指定します。
public void update(byte[] buf,
int off,
int len)
buf - 入力バイト配列を指定します。off - バイト配列における開始位置を指定します。len - バイト配列における長さを指定します。
NullPointerException - 引数 buf が null の場合に発生します。
ArrayIndexOutOfBoundsException - 引数 off が 0 未満の場合、
引数 len が 0 未満の場合、
off+len が配列 buf の長さを超える場合に発生します。
public void update(byte[] buf)
buf - 入力バイト配列を指定します。
NullPointerException - 引数 buf が null の場合に発生します。
public byte[] digest()
public int digest(byte[] buf,
int off,
int len)
buf - ダイジェスト値を出力するバイト配列を指定します。off - バイト配列における開始位置を指定します。len - バイト配列における長さを指定します。
NullPointerException - 引数 buf が null の場合に発生します。
ArrayIndexOutOfBoundsException - 引数 off が 0 未満の場合、
引数 len が 0 未満の場合、
off+len が配列 buf の長さを超える場合に発生します。
ArrayIndexOutOfBoundsException - 引数 len がダイジェストの長さよりも小さい場合に発生します。
public byte[] digest(byte[] buf)
update(buf)実行後に
digest()を実行することと同じです。
buf - 入力バイト配列を指定します。
NullPointerException - 引数 buf が null の場合に発生します。
public void reset()
public String toString()
public final int getDigestLength()
public final String getAlgorithm()
public static boolean isEqual(byte[] src,
byte[] dst)
src - 比較する一方のダイジェストを指定します。dst - 比較するもう一方のダイジェストを指定します。
NullPointerException - 引数 src、dst のいずれかまたは両方が null の場合に発生します。