JavaTM 2 Platform
Standard Ed. 6

javax.crypto
類別 MacSpi

java.lang.Object
  繼承者 javax.crypto.MacSpi

public abstract class MacSpi
extends Object

此類別為 Mac 類別定義服務提供者介面 (SPI)。 此類別中的所有抽象方法都必須由每個希望提供實作特定 MAC 演算法的加密服務提供者實作。

該實作可以隨意實作 Cloneable 介面。

從以下版本開始:
1.4

建構子摘要
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)
          從 offset 開始處(包含),處理 input 中的前len 個位元組。
protected  void engineUpdate(ByteBuffer input)
          從 input.position() 開始處,處理 ByteBuffer input 中的 input.remaining() 位元組。
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

MacSpi

public MacSpi()
方法詳細資訊

engineGetMacLength

protected abstract int engineGetMacLength()
返回以位元組為單位的 MAC 的長度。

返回:
以位元組為單位的 MAC 長度。

engineInit

protected abstract void engineInit(Key key,
                                   AlgorithmParameterSpec params)
                            throws InvalidKeyException,
                                   InvalidAlgorithmParameterException
用給定的(秘密)密鑰和演算法參數初始化 MAC。

參數:
key - (秘密)密鑰。
params - 演算法參數。
拋出:
InvalidKeyException - 如果給定密鑰不適合初始化此 MAC。
InvalidAlgorithmParameterException - 如果給定演算法參數不適合此 MAC。

engineUpdate

protected abstract void engineUpdate(byte input)
處理給定的位元組。

參數:
input - 要處理的輸入位元組。

engineUpdate

protected abstract void engineUpdate(byte[] input,
                                     int offset,
                                     int len)
offset 開始處(包含),處理 input 中的前len 個位元組。

參數:
input - 輸入緩衝區。
offset - input 中輸入開始處的偏移量。
len - 要處理的位元組數。

engineUpdate

protected void engineUpdate(ByteBuffer input)
input.position() 開始處,處理 ByteBuffer input 中的 input.remaining() 位元組。 返回時,緩衝區的位置將等於其限制;其限制並未改變。

如果能夠比byte陣列更有效地處理 ByteBuffer,子類別應考慮覆寫此方法。

參數:
input - ByteBuffer
從以下版本開始:
1.5

engineDoFinal

protected abstract byte[] engineDoFinal()
完成 MAC 計算並且重新設置 MAC 以便進一步使用,維護 MAC 初始化所用的秘密密鑰。

返回:
MAC 的結果。

engineReset

protected abstract void engineReset()
為了進一步使用而重新設置 MAC,維護 MAC 初始化所用的秘密密鑰。


clone

public Object clone()
             throws CloneNotSupportedException
如果此實作可以複製,則返回一個副本。

覆寫:
類別 Object 中的 clone
返回:
如果此實作可以複製,則返回一個副本。
拋出:
CloneNotSupportedException - 如果調用一個不支持 Cloneable 的實作。
另請參見:
Cloneable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only