public class SecretKeySpec extends Objectimplements KeySpec , SecretKey
It can be used to construct a SecretKey from a byte array, without having to go through a (provider-based) SecretKeyFactory.
This class is only useful for raw secret keys that can be represented as a byte array and have no key parameters associated with them, e.g., DES or Triple DES keys.
SecretKey,
SecretKeyFactory,
Serialized Form
| Constructor and Description |
|---|
SecretKeySpec(byte[] key, int offset, int len, String
Constructs a secret key from the given byte array, using the first
len bytes of
key, starting at
offset inclusive.
|
SecretKeySpec(byte[] key, String
Constructs a secret key from the given byte array.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object
Tests for equality between the specified object and this object.
|
String |
getAlgorithm()
Returns the name of the algorithm associated with this secret key.
|
byte[] |
getEncoded()
Returns the key material of this secret key.
|
String |
getFormat()
Returns the name of the encoding format for this secret key.
|
int |
hashCode()
Calculates a hash code value for the object.
|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitdestroy, isDestroyedpublic SecretKeySpec(byte[] key,
String algorithm)
This constructor does not check if the given bytes indeed specify a secret key of the specified algorithm. For example, if the algorithm is DES, this constructor does not check if key is 8 bytes long, and also does not check for weak or semi-weak keys. In order for those checks to be performed, an algorithm-specific key specification class (in this case: DESKeySpec) should be used.
key - the key material of the secret key. The contents of the array are copied to protect against subsequent modification.
algorithm - the name of the secret-key algorithm to be associated with the given key material. See Appendix A in the
Java Cryptography Architecture Reference Guide for information about standard algorithm names.
IllegalArgumentException - if
algorithm is null or
key is null or empty.
public SecretKeySpec(byte[] key,
int offset,
int len,
String algorithm)
len bytes of
key, starting at
offset inclusive.
The bytes that constitute the secret key are those between key[offset] and key[offset+len-1] inclusive.
This constructor does not check if the given bytes indeed specify a secret key of the specified algorithm. For example, if the algorithm is DES, this constructor does not check if key is 8 bytes long, and also does not check for weak or semi-weak keys. In order for those checks to be performed, an algorithm-specific key specification class (in this case: DESKeySpec) must be used.
key - the key material of the secret key. The first
len bytes of the array beginning at
offset inclusive are copied to protect against subsequent modification.
offset - the offset in
key where the key material starts.
len - the length of the key material.
algorithm - the name of the secret-key algorithm to be associated with the given key material. See Appendix A in the
Java Cryptography Architecture Reference Guide for information about standard algorithm names.
IllegalArgumentException - if
algorithm is null or
key is null, empty, or too short, i.e.
key.length-offset<len.
ArrayIndexOutOfBoundsException - is thrown if
offset or
len index bytes outside the
key.
public StringgetAlgorithm()
getAlgorithm in interface
Key
public StringgetFormat()
public byte[] getEncoded()
getEncoded in interface
Key
public int hashCode()
hashCode in class
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public boolean equals(Objectobj)
equals in class
Object
obj - the object to test for equality with this object.
obj is null or otherwise.
Object.hashCode() ,
HashMap