For the latest news and information visit The GNU Crypto project

## javax.crypto.spec
Class SecretKeySpec

    java.lang.Object
      |
      +--javax.crypto.spec.SecretKeySpec

All Implemented Interfaces:
  java.security.Key, java.security.spec.KeySpec, SecretKey, java.io.Serializable

public class SecretKeySpec
extends java.lang.Object
implements java.security.spec.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.

See Also:
  `SecretKey`, `SecretKeyFactory`, Serialized Form

Field Summary

Fields inherited from interface java.security.Key
`serialVersionUID`

Constructor Summary
`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.
`SecretKeySpec(byte[] key, java.lang.String algorithm)` Constructs a secret key from the given byte array.

Method Summary
`boolean` `equals(java.lang.Object obj)`
`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.
`int` `hashCode()` Calculates a hash code value for the object.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SecretKeySpec

    public SecretKeySpec(byte[] key,
                         java.lang.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.
  `algorithm` - the name of the secret-key algorithm to be associated See Appendix A in the Java Cryptography Extension API Specification & Reference for information about standard algorithm names.

### SecretKeySpec

    public 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.

  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.
  `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 API Specification & Reference for information about standard algorithm names.

Method Detail

### getAlgorithm

    public java.lang.String getAlgorithm()

  Returns the name of the algorithm associated with this secret key.

  Specified by:
    `getAlgorithm` in interface `java.security.Key`
  Returns:
    the secret key algorithm.

### getFormat

    public java.lang.String getFormat()

  Returns the name of the encoding format for this secret key.

  Specified by:
    `getFormat` in interface `java.security.Key`
  Returns:
    the string "RAW".

### getEncoded

    public byte[] getEncoded()

  Returns the key material of this secret key.

  Specified by:
    `getEncoded` in interface `java.security.Key`
  Returns:
    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 `java.lang.Object`

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.