|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.crypto.spec.PBEKeySpec
public class PBEKeySpec
可隨同基於密碼的加密法 (PBE) 使用的供使用者選擇的密碼。
可以將密碼視為某種原始密鑰內容,由此加密機制使用其導出一個密鑰。
不同的 PBE 機制可能對每一個密碼字元使用不同的位數。例如,在 PKCS #5 中定義的 PEB 機制僅僅關注每一個字元的低 8 位,而 PKCS #12 關注每一個字元的全 16 位。
通過創建一個合適的密鑰處理器實例來將密碼轉換成為一個 PBE 密鑰。例如,PKCS #5 的密鑰處理器僅根據每個密碼字元的低 8 位來建構 PBE 密鑰,而 PKCS #12 的密鑰處理器將使用每個字元的全 16 位。
還要注意,此類別以 char 陣列而不是 String
物件的形式存儲密碼(這可能更具邏輯性),因為 String 類別是不可變的,當不再需要存儲在其中的密碼時沒有任何途徑來覆寫其內部值。因此,此類別需要以 char 陣列作密碼,以便在完成後進行覆寫。
SecretKeyFactory
,
PBEParameterSpec
建構子摘要 | |
---|---|
PBEKeySpec(char[] password)
帶有一個密碼的建構子。 |
|
PBEKeySpec(char[] password,
byte[] salt,
int iterationCount)
帶有產生固定密鑰大小的 PBE 密碼的 PBEKey 時使用的一個密碼、salt、迭代數的建構子。 |
|
PBEKeySpec(char[] password,
byte[] salt,
int iterationCount,
int keyLength)
帶有產生可變密鑰大小的 PBE 密碼的 PBEKey 時使用的一個密碼、salt、迭代計數以及導出密鑰長度的建構子。 |
方法摘要 | |
---|---|
void |
clearPassword()
清空密碼的內部副本。 |
int |
getIterationCount()
返回迭代計數,如果未指定則返回 0。 |
int |
getKeyLength()
返回要導出的密鑰長度,如果未指定則返回 0。 |
char[] |
getPassword()
返回密碼的一份副本。 |
byte[] |
getSalt()
返回 salt 的一份副本,如果未指定則返回 null。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public PBEKeySpec(char[] password)
註:在將 password
存儲進新的 PBEKeySpec
物件前將其複製。
password
- 密碼。public PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength)
password
為 null,則使用一個空 char[]。
註:在將 password
和 salt
存儲進新的 PBEKeySpec
物件前將其複製。
password
- 密碼。salt
- salt。iterationCount
- 迭代計數。keyLength
- 要導出的密鑰長度。
NullPointerException
- 如果 salt
為 null。
IllegalArgumentException
- 如果 salt
為空(即 0 長度)、iterationCount
或 keyLength
不為正。public PBEKeySpec(char[] password, byte[] salt, int iterationCount)
password
為 null,則使用一個空 char[]。
註:在將 password
和 salt
存儲進新的 PBEKeySpec
物件前將其複製。
password
- 密碼。salt
- salt。iterationCount
- 迭代計數。
NullPointerException
- 如果 salt
為 null。
IllegalArgumentException
- 如果 salt
為空(即 0 長度),或者 iterationCount
不為正。方法詳細資訊 |
---|
public final void clearPassword()
public final char[] getPassword()
註:此方法返回密碼的一份副本。調用者負責在不再需要密碼後清空密碼資訊。
IllegalStateException
- 如果密碼已通過調用 clearPassword
方法被清除。public final byte[] getSalt()
註:此方法應返回 salt 的一份副本。調用者負責在不再需要 salt 後清空 salt 資訊。
public final int getIterationCount()
public final int getKeyLength()
註:此方法用於指出可變密鑰大小密碼的首選密鑰長度。實際的密鑰大小依賴於每一個提供者的實作。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。