JavaTM 2 Platform
Standard Ed. 6

javax.crypto.spec
類別 SecretKeySpec

java.lang.Object
  繼承者 javax.crypto.spec.SecretKeySpec
所有已實作的介面:
Serializable, Key, KeySpec, SecretKey

public class SecretKeySpec
extends Object
implements KeySpec, SecretKey

此類別以與 provider 無關的方式指定一個密鑰。

可以使用此類別來根據一個位元組陣列建構一個 SecretKey,而無須通過一個(基於 provider 的)SecretKeyFactory

此類別僅對能表示為一個位元組陣列並且沒有任何與之相關聯的鑰參數的原始密鑰有用,如,DES 或者 Triple DES 密鑰。

從以下版本開始:
1.4
另請參見:
SecretKey, SecretKeyFactory, 序列化表格

欄位摘要
 
從介面 javax.crypto.SecretKey 繼承的欄位
serialVersionUID
 
建構子摘要
SecretKeySpec(byte[] key, int offset, int len, String algorithm)
          根據給定的位元組陣列建構一個密鑰,使用 key 中的始於且包含 offset 的前 len 個位元組。
SecretKeySpec(byte[] key, String algorithm)
          根據給定的位元組陣列建構一個密鑰。
 
方法摘要
 boolean equals(Object obj)
          測試給定對象與此物件的相等性。
 String getAlgorithm()
          返回與此密鑰關聯的演算法的名稱。
 byte[] getEncoded()
          返回此密鑰的密鑰內容。
 String getFormat()
          返回此密鑰編碼格式的名稱。
 int hashCode()
          計算此物件的雜湊碼值。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

SecretKeySpec

public SecretKeySpec(byte[] key,
                     String algorithm)
根據給定的位元組陣列建構一個密鑰。

此建構子不檢查給定的位元組實際上是否指定了一個指定演算法的密鑰。例如,如果演算法是 DES,此建構子不檢查 key 是否是 8 位元組長,並且也不檢查是否是全弱或者半弱密鑰。為了執行這些檢查,應當使用一個特定於演算法的密鑰規範(在此情況下是:DESKeySpec)。

參數:
key - 密鑰的密鑰內容。複製該陣列的內容來防止後續修改。
algorithm - 與給定的密鑰內容相關聯的密鑰演算法的名稱。有關標準演算法名稱的資訊請參見 Java Cryptography Architecture Reference Guide 中的附錄 A。
拋出:
IllegalArgumentException - 如果 algorithm 為 null 或者 key 為 null 或空。

SecretKeySpec

public SecretKeySpec(byte[] key,
                     int offset,
                     int len,
                     String algorithm)
根據給定的位元組陣列建構一個密鑰,使用 key 中的始於且包含 offset 的前 len 個位元組。

組成密鑰的位元組在 key[offset]key[offset+len-1] 範圍內(包含兩者)。

此建構子不檢查給定的位元組實際上是否指定了一個指定演算法的密鑰。例如,如果演算法是 DES,此建構子不檢查 key 是否是 8 位元組長,並且也不檢查是否是全弱或者半弱密鑰。為了執行這些檢查,必須使用一個特定於演算法的密鑰規範(在此情況下是:DESKeySpec)。

參數:
key - 密鑰的密鑰內容。複製該陣列始於且包含 offset 的前 len 個位元組來防止後續修改。
offset - key 中的偏移量,密鑰內容從此處開始。
len - 密鑰內容的長度。
algorithm - 與給定的密鑰內容相關聯的密鑰演算法的名稱。有關標準演算法名稱的資訊請參見 Java Cryptography Architecture Reference Guide 中的附錄 A。
拋出:
IllegalArgumentException - 如果 algorithm 為 null 或者 key 為 null、空或太短(即 key.length-offset 小於 len)。
ArrayIndexOutOfBoundsException - 如果 offset 或者 len 索引位元組在 key 範圍外,則拋出該異常。
方法詳細資訊

getAlgorithm

public String getAlgorithm()
返回與此密鑰關聯的演算法的名稱。

指定者:
介面 Key 中的 getAlgorithm
返回:
密鑰演算法。

getFormat

public String getFormat()
返回此密鑰編碼格式的名稱。

指定者:
介面 Key 中的 getFormat
返回:
字元串 "RAW"。

getEncoded

public byte[] getEncoded()
返回此密鑰的密鑰內容。

指定者:
介面 Key 中的 getEncoded
返回:
密鑰內容。每次調用此方法都返回一個新陣列。

hashCode

public int hashCode()
計算此物件的雜湊碼值。相等的物件也將具有相同的雜湊碼。

覆寫:
類別 Object 中的 hashCode
返回:
此物件的一個雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
測試給定對象與此物件的相等性。如果兩個 SecretKeySpec 物件都是具有相同的區分大小寫的演算法名稱和密鑰編碼的 SecretKey 實例,則認為這兩者相等。

覆寫:
類別 Object 中的 equals
參數:
obj - 要與此物件進行相等性測試的物件。
返回:
如果認為物件相等則返回 true;如果 obj 為 null 或其他情況則返回 false。
另請參見:
Object.hashCode(), Hashtable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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