javax.crypto.spec

Class DESedeKeySpec

public class DESedeKeySpec extends Object implements KeySpec

This class is a transparent wrapper for DES-EDE (Triple-DES) keys, which are arrays of 24 bytes.

Since: 1.4

Field Summary
static intDES_EDE_KEY_LEN
The length of a triple-DES key, in bytes.
Constructor Summary
DESedeKeySpec(byte[] key)
Create a new DES-EDE key spec, copying the first 24 bytes from the byte array.
DESedeKeySpec(byte[] key, int offset)
Create a new DES-EDE key spec, starting at offset in the byte array.
Method Summary
byte[]getKey()
Return the key as a byte array.
static booleanisParityAdjusted(byte[] key, int offset)
Returns whether or not the given key is parity adjusted; i.e. every byte in the key has an odd number of "1" bits.

Field Detail

DES_EDE_KEY_LEN

public static final int DES_EDE_KEY_LEN
The length of a triple-DES key, in bytes.

Constructor Detail

DESedeKeySpec

public DESedeKeySpec(byte[] key)
Create a new DES-EDE key spec, copying the first 24 bytes from the byte array.

Parameters: key The key bytes.

Throws: java.security.InvalidKeyException If there are less than 24 bytes in the array.

DESedeKeySpec

public DESedeKeySpec(byte[] key, int offset)
Create a new DES-EDE key spec, starting at offset in the byte array. The first 24 bytes starting at offset are copied.

Parameters: key The key bytes. offset The offset into the byte array at which to begin.

Throws: java.security.InvalidKeyException If there are less than 24 bytes starting at offset.

Method Detail

getKey

public byte[] getKey()
Return the key as a byte array. This method does not copy the byte array.

Returns: The key bytes.

isParityAdjusted

public static boolean isParityAdjusted(byte[] key, int offset)
Returns whether or not the given key is parity adjusted; i.e. every byte in the key has an odd number of "1" bits.

Parameters: key The key bytes, considered between [offset, offset+23] offset The offset into the byte array at which to begin.

Returns: True if all bytes have an odd number of "1" bits.

Throws: java.security.InvalidKeyException If there are not enough bytes in the array.