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、クラス: ObjectCloneNotSupportedException - Cloneableをサポートしていない実装で呼び出された場合Cloneable バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.