public class SecretKeySpec extends java.lang.Object implements KeySpec, Key
It can be used to construct a SecretKey
from a byte array.
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.
Constructor and Description |
---|
SecretKeySpec(byte[] key,
int offset,
int len,
java.lang.String algorithm)
Constructs a secret key from the given byte array, using the first
len bytes of key , starting at
offset inclusive. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAlgorithm()
Returns the name of the algorithm associated with this secret key.
|
byte[] |
getEncoded()
Returns the key material of this secret key.
|
java.lang.String |
getFormat()
Returns the name of the encoding format for this secret key.
|
public SecretKeySpec(byte[] key, int offset, int len, java.lang.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
must 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.public java.lang.String getAlgorithm()
getAlgorithm
in interface Key
public java.lang.String getFormat()
public byte[] getEncoded()
getEncoded
in interface Key
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Use is subject to License Terms. Your use of this web site or any of its contents or software indicates your agreement to be bound by these License Terms.