|
JavaTM 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 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。