SecretKeySpec
open class SecretKeySpec : KeySpec, SecretKey
kotlin.Any | |
↳ | javax.crypto.spec.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.
Summary
Inherited constants | |
---|---|
Public constructors | |
---|---|
SecretKeySpec(key: ByteArray!, offset: Int, len: Int, algorithm: String!) Constructs a secret key from the given byte array, using the first |
|
SecretKeySpec(key: ByteArray!, algorithm: String!) Constructs a secret key from the given byte array. |
Public methods | |
---|---|
open Boolean |
Tests for equality between the specified object and this object. |
open String! |
Returns the name of the algorithm associated with this secret key. |
open ByteArray! |
Returns the key material of this secret key. |
open String! |
Returns the name of the encoding format for this secret key. |
open Int |
hashCode() Calculates a hash code value for the object. |
Inherited functions | |
---|---|
Public constructors
SecretKeySpec
SecretKeySpec(
key: ByteArray!,
offset: Int,
len: Int,
algorithm: String!)
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 |
ByteArray!: 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 |
Int: the offset in key where the key material starts. |
len |
Int: the length of the key material. |
algorithm |
String!: 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. |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if algorithm is null or key is null, empty, or too short, i.e. key.length-offset<len . |
java.lang.ArrayIndexOutOfBoundsException |
is thrown if offset or len index bytes outside the key . |
SecretKeySpec
SecretKeySpec(
key: ByteArray!,
algorithm: String!)
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 |
ByteArray!: the key material of the secret key. The contents of the array are copied to protect against subsequent modification. |
algorithm |
String!: 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. |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if algorithm is null or key is null or empty. |
Public methods
equals
open fun equals(other: Any?): Boolean
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.
Parameters | |
---|---|
obj |
the object to test for equality with this object. |
Return | |
---|---|
Boolean |
true if the objects are considered equal, false if obj is null or otherwise. |
getAlgorithm
open fun getAlgorithm(): String!
Returns the name of the algorithm associated with this secret key.
Return | |
---|---|
String! |
the secret key algorithm. |
getEncoded
open fun getEncoded(): ByteArray!
Returns the key material of this secret key.
Return | |
---|---|
ByteArray! |
the key material. Returns a new array each time this method is called. |
getFormat
open fun getFormat(): String!
Returns the name of the encoding format for this secret key.
Return | |
---|---|
String! |
the string "RAW". |
hashCode
open fun hashCode(): Int
Calculates a hash code value for the object. Objects that are equal will also have the same hashcode.
Return | |
---|---|
Int |
a hash code value for this object. |