java.lang.Object
javax.crypto.spec.DESKeySpec
- All Implemented Interfaces:
KeySpec
public class DESKeySpec extends Object implements KeySpec
This class specifies a DES key.
- Since:
- 1.4
-
Field Summary
Fields Modifier and Type Field Description static int
DES_KEY_LEN
The constant which defines the length of a DES key in bytes. -
Constructor Summary
Constructors Constructor Description DESKeySpec(byte[] key)
Creates a DESKeySpec object using the first 8 bytes inkey
as the key material for the DES key.DESKeySpec(byte[] key, int offset)
Creates a DESKeySpec object using the first 8 bytes inkey
, beginning atoffset
inclusive, as the key material for the DES key. -
Method Summary
Modifier and Type Method Description byte[]
getKey()
Returns the DES key material.static boolean
isParityAdjusted(byte[] key, int offset)
Checks if the given DES key material, starting atoffset
inclusive, is parity-adjusted.static boolean
isWeak(byte[] key, int offset)
Checks if the given DES key material is weak or semi-weak.
-
Field Details
-
DES_KEY_LEN
public static final int DES_KEY_LENThe constant which defines the length of a DES key in bytes.- See Also:
- Constant Field Values
-
-
Constructor Details
-
DESKeySpec
Creates a DESKeySpec object using the first 8 bytes inkey
as the key material for the DES key.The bytes that constitute the DES key are those between
key[0]
andkey[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 isnull
InvalidKeyException
- if the given key material is shorter than 8 bytes.
-
DESKeySpec
Creates a DESKeySpec object using the first 8 bytes inkey
, beginning atoffset
inclusive, as the key material for the DES key.The bytes that constitute the DES key are those between
key[offset]
andkey[offset+7]
inclusive.- Parameters:
key
- the buffer with the DES key material. The first 8 bytes of the buffer beginning atoffset
inclusive are copied to protect against subsequent modification.offset
- the offset inkey
, where the DES key material starts.- Throws:
NullPointerException
- if the given key material isnull
InvalidKeyException
- if the given key material, starting atoffset
inclusive, is shorter than 8 bytes.
-
-
Method Details
-
getKey
public byte[] getKey()Returns the DES key material.- Returns:
- the DES key material. Returns a new array each time this method is called.
-
isParityAdjusted
Checks if the given DES key material, starting atoffset
inclusive, is parity-adjusted.- Parameters:
key
- the buffer with the DES key material.offset
- the offset inkey
, 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 isnull
, or starting atoffset
inclusive, is shorter than 8 bytes.
-
isWeak
Checks if the given DES key material is weak or semi-weak.- Parameters:
key
- the buffer with the DES key material.offset
- the offset inkey
, 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 isnull
, or starting atoffset
inclusive, is shorter than 8 bytes.
-