public class DESKeySpec extends Object implements KeySpec
Modifier and Type | Field and Description |
---|---|
static int |
DES_KEY_LEN
The length of a DES key, in bytes.
|
Constructor and Description |
---|
DESKeySpec(byte[] key)
Create a new DES key spec, copying the first 8 bytes from the
byte array.
|
DESKeySpec(byte[] key,
int offset)
Create a new DES key spec, starting at
offset in
the byte array. |
Modifier and Type | Method and Description |
---|---|
byte[] |
getKey()
Return the key as a byte array.
|
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.
|
static boolean |
isWeak(byte[] key,
int offset)
Tests if the bytes between
[offset, offset+7]
constitute a weak or semi-weak DES key. |
public static final int DES_KEY_LEN
public DESKeySpec(byte[] key) throws InvalidKeyException
key
- The key bytes.InvalidKeyException
- If there are less than 8
bytes in the array.public DESKeySpec(byte[] key, int offset) throws InvalidKeyException
offset
in
the byte array. The first 8 bytes starting at offset
are copied.key
- The key bytes.offset
- The offset into the byte array at which to begin.InvalidKeyException
- If there are less than 8
bytes starting at offset
.public static boolean isParityAdjusted(byte[] key, int offset) throws InvalidKeyException
key
- The key bytes, considered between [offset,
offset+7]
offset
- The offset into the byte array at which to begin.InvalidKeyException
- If there are not enough
bytes in the array.public static boolean isWeak(byte[] key, int offset) throws InvalidKeyException
[offset, offset+7]
constitute a weak or semi-weak DES key.key
- The key bytes to check.offset
- The offset in the byte array to start.InvalidKeyException
public byte[] getKey()