Class DESKeySpec
- 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
Fields
Modifier and Type | Field | Description |
---|---|---|
static int | DES_KEY_LEN | The constant which defines the length of a DES key in bytes. |
Constructors
Constructor | Description |
---|---|
DESKeySpec(byte[] key) | Creates a DESKeySpec object using the first 8 bytes in |
DESKeySpec(byte[] key,
int offset) | Creates a DESKeySpec object using the first 8 bytes in |
Methods
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 at |
static boolean | isWeak(byte[] key,
int offset) | Checks if the given DES key material is weak or semi-weak. |
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Fields
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
Constructors
DESKeySpec
public DESKeySpec(byte[] key) throws InvalidKeyException
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 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 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 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.
Methods
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 at offset
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.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/crypto/spec/DESKeySpec.html