- java.lang.Object
-
- javax.crypto.spec.DESKeySpec
-
-
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 Detail
-
DES_KEY_LEN
public static final int DES_KEY_LEN
The constant which defines the length of a DES key in bytes.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DESKeySpec
public DESKeySpec(byte[] key) throws InvalidKeyException
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
public DESKeySpec(byte[] key, int offset) throws InvalidKeyException
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 Detail
-
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
public static boolean isParityAdjusted(byte[] key, int offset) throws InvalidKeyException
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
public static boolean isWeak(byte[] key, int offset) throws InvalidKeyException
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.
-
-