public class SecretKeySpec extends Object implements 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 algorithm)Constructs a secret key from the given byte array, using the first
  lenbytes ofkey, starting atoffsetinclusive. | 
| SecretKeySpec(byte[] key,
             String algorithm)Constructs a secret key from the given byte array. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object obj)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. | 
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. 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. ArrayIndexOutOfBoundsException - is thrown if
 offset or len index bytes outside the
 key.public String getAlgorithm()
getAlgorithm in interface Keypublic String getFormat()
public byte[] getEncoded()
getEncoded in interface Keypublic int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object), 
System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
equals in class Objectobj - the object to test for equality with this object.obj is null or otherwise.Object.hashCode(), 
HashMap Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates.  All rights reserved.