java.lang.Object
java.security.MessageDigestSpi
- 直系の既知のサブクラス:
MessageDigest
public abstract class MessageDigestSpi extends Object
MessageDigest
クラスのサービス・プロバイダ・インタフェース (SPI)を定義します。これは、MD5やSHAといったメッセージ・ダイジェスト・アルゴリズムの機能を提供します。 メッセージ・ダイジェストは、任意サイズのデータを取得して固定長のハッシュ値を出力する安全な一方向のハッシュ機能です。
このクラスのすべての抽象メソッドは、特定のメッセージ・ダイジェスト・アルゴリズムの実装を供給しようとする暗号化サービス・プロバイダによって実装されなければいけません。
Cloneableインタフェースは、自由に実装できます。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明clone()
実装が複製可能な場合は複製を返します。protected abstract byte[]
パディングなどの最終処理を行ってハッシュ計算を完了します。protected int
engineDigest
(byte[] buf, int offset, int len) パディングなどの最終処理を行ってハッシュ計算を完了します。protected int
バイト単位のダイジェスト長を返します。protected abstract void
再利用のためにダイジェストをリセットします。protected abstract void
engineUpdate
(byte input) 指定されたバイト・データを使ってダイジェストを更新します。protected abstract void
engineUpdate
(byte[] input, int offset, int len) 指定されたバイト・データの配列を使って、指定されたオフセットから開始してダイジェストを更新します。protected void
engineUpdate
(ByteBuffer input) 指定されたByteBufferを使用してダイジェストを更新します。
-
コンストラクタの詳細
-
MessageDigestSpi
public MessageDigestSpi()サブクラスが呼び出すためのコンストラクタ。
-
-
メソッドの詳細
-
engineGetDigestLength
protected int engineGetDigestLength()バイト単位のダイジェスト長を返します。この具象メソッドは、事前に定義されたこの抽象クラスに追加されたものです。 下位互換性のために、抽象メソッドにはできません。
デフォルト動作は0を返します。
このメソッドはプロバイダによってオーバーライドされると、ダイジェスト長を返します。
- 戻り値:
- バイト単位のダイジェスト長。
- 導入されたバージョン:
- 1.2
-
engineUpdate
protected abstract void engineUpdate(byte input) 指定されたバイト・データを使ってダイジェストを更新します。- パラメータ:
input
- 更新に使うバイト。
-
engineUpdate
protected abstract void engineUpdate(byte[] input, int offset, int len) 指定されたバイト・データの配列を使って、指定されたオフセットから開始してダイジェストを更新します。- パラメータ:
input
- 更新に使うバイト・データの配列。offset
- バイトの配列での開始オフセット。len
- 使用するバイト数(offset
から開始)。
-
engineUpdate
protected void engineUpdate(ByteBuffer input) 指定されたByteBufferを使用してダイジェストを更新します。 ダイジェストの更新時には、input.position()
位置から始まるinput.remaining()
バイトが使用されます。 終了時に、バッファの位置はリミットに等しくなりますが、リミットは変更されません。- パラメータ:
input
- ByteBuffer- 導入されたバージョン:
- 1.5
-
engineDigest
protected abstract byte[] engineDigest()パディングなどの最終処理を行ってハッシュ計算を完了します。engineDigest
の呼出しのあと、エンジンはリセットされます(engineReset
を参照)。 リセット操作はエンジンの実装者が担当します。- 戻り値:
- 結果として得られるハッシュ値に対するバイト・データの配列。
-
engineDigest
protected int engineDigest(byte[] buf, int offset, int len) throws DigestException パディングなどの最終処理を行ってハッシュ計算を完了します。engineDigest
の呼出しのあと、エンジンはリセットされます(engineReset
を参照)。 リセット操作はエンジンの実装者が担当します。 このメソッドは抽象メソッドでなければいけませんが、バイナリ互換を保つために具象メソッドのままにしておきます。 互換性を配慮するプロバイダは、このメソッドをオーバーライドしてください。- パラメータ:
buf
- ダイジェストを格納する出力バッファoffset
- 出力バッファの開始オフセットlen
- ダイジェストを割り当てるバッファのバイト数。 このデフォルト実装とSUNプロバイダは、どちらも部分的なダイジェストを返さない。 このパラメータは、APIにおける統一性を保つためにだけ存在する。 このパラメータの値が実際のダイジェスト長より短い場合、メソッドはDigestExceptionをスローする。 このパラメータは、その値が実際のダイジェスト長より長いか、または等しい場合は無視される。- 戻り値:
- 出力バッファに格納されるダイジェスト長。
- 例外:
DigestException
- エラーが発生した場合。- 導入されたバージョン:
- 1.2
-
engineReset
protected abstract void engineReset()再利用のためにダイジェストをリセットします。 -
clone
public Object clone() throws CloneNotSupportedException実装が複製可能な場合は複製を返します。- オーバーライド:
clone
、クラスObject
- 戻り値:
- 実装が複製可能な場合は複製。
- 例外:
CloneNotSupportedException
-Cloneable
をサポートしていない実装で呼び出された場合。- 関連項目:
-