|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.crypto.spec.SecretKeySpec
public class SecretKeySpec
This class specifies a secret key in a provider-independent fashion.
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.
Field Summary | |
---|---|
private String |
algorithm_
The name of the secret-key algorithm. |
private byte[] |
key_
The key material of the secret key. |
Fields inherited from interface java.security.Key |
---|
serialVersionUID |
Constructor Summary | |
---|---|
SecretKeySpec(byte[] key,
int offset,
int len,
String algorithm)
Constructs a secret key from the given byte array, using the first len bytes of key , starting at
offset inclusive. |
|
SecretKeySpec(byte[] key,
String algorithm)
Constructs a secret key from the given byte array. |
Method Summary | |
---|---|
boolean |
equals(Object obj)
Calculates a hash code value for the 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. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private String algorithm_
private byte[] key_
Constructor Detail |
---|
public 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.algorithm
- the name of the secret-key algorithm to be
associated with the given key material. See Appendix A in the
Java Cryptography Extension 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
) should be used.
key
- the key material of the secret key.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 Extension Reference Guide for information
about standard algorithm names.
IllegalArgumentException
- if algorithm
is null or key
is null or empty.
ArrayIndexOutOfBoundsException
- - is thrown if offset
or len index bytes outside the key .Method Detail |
---|
public String getAlgorithm()
getAlgorithm
in interface Key
public String getFormat()
getFormat
in interface Key
public byte[] getEncoded()
getEncoded
in interface Key
public int hashCode()
hashCode
in class Object
Object#hashCode Object.hasCode()}, {@link Hashtable}
public boolean equals(Object obj)
equals
in class Object
obj
- the reference object with which to compare.
true
if this object is the same as the
obj argument; false
otherwise.Object#equals() Object.equals(java.lang.Object)},
{@link Hashtable}
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |