TopBlend:
Here is the
first difference.
There are 10 differences.
is old.
is new.
javax.crypto.spec
Class SecretKeySpec
java.lang.Object
javax.crypto.spec.SecretKeySpec
-
All Implemented Interfaces:
-
Key
,
KeySpec
,
SecretKey
,
Serializable
-
public class
SecretKeySpec
-
extends
Object
-
implements
KeySpec
,
SecretKey
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.
-
Since:
-
1.4
-
See Also:
-
SecretKey
,
SecretKeyFactory
,
Serialized Form
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
Tests for equality between the specified
Indicates whether some other
object
and
is "equal to"
this
object.
one.
|
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. |
SecretKeySpec
public SecretKeySpec(byte[] key,
String algorithm)
-
Constructs a secret key from the given byte array.
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.
-
Parameters:
-
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 Extension Reference Guide
for information about standard algorithm names.
-
Throws:
-
IllegalArgumentException
- if algorithm is null or key is null or empty.
SecretKeySpec
public 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.
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.
-
Parameters:
-
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 Extension Reference Guide
for information about standard algorithm names.
-
Throws:
-
IllegalArgumentException
- if algorithm is null or key is invalid, i.e. null, empty, or too short.
getAlgorithm
public String getAlgorithm()
-
Returns the name of the algorithm associated with this secret key.
-
-
Specified by:
-
getAlgorithm
in interface
Key
-
-
Returns:
-
the secret key algorithm.
getFormat
public String getFormat()
-
Returns the name of the encoding format for this secret key.
-
-
Specified by:
-
getFormat
in interface
Key
-
-
Returns:
-
the string "RAW".
getEncoded
public byte[] getEncoded()
-
Returns the key material of this secret key.
-
-
Specified by:
-
getEncoded
in interface
Key
-
-
Returns:
-
the key material. Returns a new array each time this method is called.
the key material
hashCode
public int hashCode()
-
Calculates a hash code value for the object. Objects that are equal will also have the same hashcode.
-
-
Overrides:
-
hashCode
in class
Object
-
-
Returns:
-
a hash code value for this object.
-
See Also:
-
Object.equals(java.lang.Object)
,
Hashtable
equals
public boolean equals(Object obj)
-
Tests for equality between the specified object and this object. Two SecretKeySpec objects are considered equal if they are both SecretKey instances which have the same case-insensitive algorithm name and key encoding.
Description copied from class:
Object
-
Indicates whether some other object is "equal to" this one.
The equals method implements an equivalence relation on non-null object references:
-
It is
reflexive
: for any non-null reference value x, x.equals(x) should return true.
-
It is
symmetric
: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
-
It is
transitive
: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
-
It is
consistent
: for any non-null reference values x and y, multiple invocations of
x.equals(y)
consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
-
For any non-null reference value x, x.equals(null) should return false.
The
equals
method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).
Note that it is generally necessary to override the
hashCode
method whenever this method is overridden, so as to maintain the general contract for the
hashCode
method, which states that equal objects must have equal hash codes.
-
-
Overrides:
-
equals
in class
Object
-
-
Parameters:
-
obj - the
reference
object
with which
to
test for equality with this object.
compare.
-
Returns:
-
true if the objects are considered equal, false if obj is null or otherwise.
true if this object is the same as the obj argument; false otherwise.
-
See Also:
-
Object.hashCode()
,
Hashtable