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()
この具象メソッドは、事前に定義されたこの abstract クラスに追加されたものです。下位互換性のために、abstract メソッドにはできません。
デフォルト動作は 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, 2013, Oracle and/or its affiliates. All rights reserved.