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