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 lenbytes of the array beginning atoffsetinclusive are copied to protect against subsequent modification. | 
| offset | Int: the offset in keywhere 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 algorithmis null orkeyis null, empty, or too short, i.e.key.length-offset<len. | 
| java.lang.ArrayIndexOutOfBoundsException | is thrown if offsetorlenindex bytes outside thekey. | 
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 algorithmis null orkeyis 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 objis 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. | 
