public abstract class MacSpi extends Object
Mac
クラスのサービス・プロバイダ・インタフェース (SPI)を定義します。特定のMACアルゴリズムの実装を提供する各暗号化サービス・プロバイダは、このクラスのすべての抽象メソッドを実装する必要があります。
Cloneableインタフェースは、自由に実装できます。
コンストラクタと説明 |
---|
MacSpi() |
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
実装が複製可能な場合は複製を返します。
|
protected abstract byte[] |
engineDoFinal()
MACの計算を完了し、将来の使用のためにMACをリセットします。MACの初期化に使用された秘密鍵は維持します。
|
protected abstract int |
engineGetMacLength()
MACの長さをバイト単位で返します。
|
protected abstract void |
engineInit(Key key, AlgorithmParameterSpec params)
指定された(秘密)鍵とアルゴリズム・パラメータを使用してMACを初期化します。
|
protected abstract void |
engineReset()
将来の使用のためにMACをリセットします。MACの初期化に使用された秘密鍵は維持します。
|
protected abstract void |
engineUpdate(byte input)
指定されたバイトを処理します。
|
protected abstract void |
engineUpdate(byte[] input, int offset, int len)
input 内のlen バイトを処理します。offset から始めます。 |
protected void |
engineUpdate(ByteBuffer input)
ByteBuffer
input 内のinput.position() から始まるinput.remaining() バイトを処理します。 |
protected abstract int engineGetMacLength()
protected abstract void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException
key
- (秘密)鍵。params
- アルゴリズム・パラメータ。InvalidKeyException
- 指定された鍵がこのMACの初期化に不適切な場合。InvalidAlgorithmParameterException
- 指定されたアルゴリズム・パラメータがこのMACに不適切な場合。protected abstract void engineUpdate(byte input)
input
- 処理される入力バイト。protected abstract void engineUpdate(byte[] input, int offset, int len)
input
内のlen
バイトを処理します。offset
から始めます。input
- 入力バッファoffset
- 入力を開始するinput
内のオフセット。len
- 処理するバイト数。protected void engineUpdate(ByteBuffer input)
input
内のinput.position()
から始まるinput.remaining()
バイトを処理します。終了時に、バッファの位置はリミットに等しくなりますが、リミットは変更されません。
ByteBufferをバイト配列よりも効率的に処理できる場合、このメソッドをサブクラスでオーバーライドすることを検討してください。
input
- ByteBufferprotected abstract byte[] engineDoFinal()
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.