DESKeySpec

public class DESKeySpec extends Object
implements KeySpec

This class specifies a DES key.

Constant Summary

int DES_KEY_LEN The constant which defines the length of a DES key in bytes.

Public Constructor Summary

DESKeySpec(byte[] key)
Creates a DESKeySpec object using the first 8 bytes in key as the key material for the DES key.
DESKeySpec(byte[] key, int offset)
Creates a DESKeySpec object using the first 8 bytes in key, beginning at offset inclusive, as the key material for the DES key.

Public Method Summary

byte[]
getKey()
Returns the DES key material.
static boolean
isParityAdjusted(byte[] key, int offset)
Checks if the given DES key material, starting at offset inclusive, is parity-adjusted.
static boolean
isWeak(byte[] key, int offset)
Checks if the given DES key material is weak or semi-weak.

Inherited Method Summary

Constants

public static final int DES_KEY_LEN

The constant which defines the length of a DES key in bytes.

Constant Value: 8

Public Constructors

public DESKeySpec (byte[] key)

Creates a DESKeySpec object using the first 8 bytes in key as the key material for the DES key.

The bytes that constitute the DES key are those between key[0] and key[7] inclusive.

Parameters
key the buffer with the DES key material. The first 8 bytes of the buffer are copied to protect against subsequent modification.
Throws
NullPointerException if the given key material is null
InvalidKeyException if the given key material is shorter than 8 bytes.

public DESKeySpec (byte[] key, int offset)

Creates a DESKeySpec object using the first 8 bytes in key, beginning at offset inclusive, as the key material for the DES key.

The bytes that constitute the DES key are those between key[offset] and key[offset+7] inclusive.

Parameters
key the buffer with the DES key material. The first 8 bytes of the buffer beginning at offset inclusive are copied to protect against subsequent modification.
offset the offset in key, where the DES key material starts.
Throws
NullPointerException if the given key material is null
InvalidKeyException if the given key material, starting at offset inclusive, is shorter than 8 bytes.

Public Methods

public byte[] getKey ()

Returns the DES key material.

Returns
  • the DES key material. Returns a new array each time this method is called.

public static boolean isParityAdjusted (byte[] key, int offset)

Checks if the given DES key material, starting at offset inclusive, is parity-adjusted.

Parameters
key the buffer with the DES key material.
offset the offset in key, where the DES key material starts.
Returns
  • true if the given DES key material is parity-adjusted, false otherwise.
Throws
InvalidKeyException if the given key material is null, or starting at offset inclusive, is shorter than 8 bytes.

public static boolean isWeak (byte[] key, int offset)

Checks if the given DES key material is weak or semi-weak.

Parameters
key the buffer with the DES key material.
offset the offset in key, where the DES key material starts.
Returns
  • true if the given DES key material is weak or semi-weak, false otherwise.
Throws
InvalidKeyException if the given key material is null, or starting at offset inclusive, is shorter than 8 bytes.