|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.crypto.spec
类 SecretKeySpec
java.lang.Object javax.crypto.spec.SecretKeySpec
- 所有已实现的接口:
- Serializable, Key, 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 Extension 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 Extension Reference Guide 中的附录 A。 - 抛出:
-
IllegalArgumentException
- 如果algorithm
为 null 或者key
为 null、空或太短(即key.length-offset
)。 -
ArrayIndexOutOfBoundsException
- 如果offset
或者len
索引字节在key
范围外,则抛出该异常。
方法详细信息 |
---|
getAlgorithm
public String getAlgorithm()
- 返回与此密钥关联的算法的名称。
-
- 指定者:
-
接口
Key
中的getAlgorithm
-
- 返回:
- 密钥算法。
getFormat
public String getFormat()
getEncoded
public byte[] getEncoded()
- 返回此密钥的密钥内容。
-
- 指定者:
-
接口
Key
中的getEncoded
-
- 返回:
- 密钥内容。每次调用此方法都返回一个新数组。
hashCode
public int hashCode()
- 计算此对象的哈希码值。相等的对象也将具有相同的哈希码。
-
- 返回:
- 此对象的一个哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,Hashtable
equals
public boolean equals(Object obj)
- 测试给定对象与此对象的相等性。如果两个 SecretKeySpec 对象都是具有相同的区分大小写的算法名称和密钥编码的 SecretKey 实例,则认为这两者相等。
-
- 参数:
-
obj
- 要与此对象进行相等性测试的对象。 - 返回:
-
如果认为对象相等则返回 true;如果
obj
为 null 或其他情况则返回 false。 - 另请参见:
-
Object.hashCode()
,Hashtable
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |