javax.crypto.spec

java.lang.Object
  继承者 javax.crypto.spec.DESKeySpec
所有已实现的接口:
KeySpec

public class DESKeySpec
     
extends Object
implements KeySpec

此类指定一个 DES 密钥。

从以下版本开始:
1.4

字段摘要
static int DES_KEY_LEN
          定义以字节为单位的 DES 密钥长度的常量。
 
构造方法摘要
DESKeySpec(byte[] key)
          创建一个 DESKeySpec 对象,使用 key 中的前 8 个字节作为 DES 密钥的密钥内容。
DESKeySpec(byte[] key, int offset)
          创建一个 DESKeySpec 对象,使用 key 中始于且包含 offset 的前 8 个字节作为 DES-EDE 密钥的密钥内容。
 
方法摘要
 byte[] getKey()
          返回 DES 密钥内容。
static boolean isParityAdjusted(byte[] key, int offset)
          确定给定的始于且包含 offset 的 DES 密钥内容是否是奇偶校验的 (parity-adjusted)。
static boolean isWeak(byte[] key, int offset)
          确定给定的 DES 密钥内容是否是全弱或者半弱的。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

DES_KEY_LEN

public static final int DES_KEY_LEN
定义以字节为单位的 DES 密钥长度的常量。

另请参见:
常量字段值
构造方法详细信息

DESKeySpec

public DESKeySpec(byte[] key)
           throws InvalidKeyException
创建一个 DESKeySpec 对象,使用 key 中的前 8 个字节作为 DES 密钥的密钥内容。

组成 DES 密钥的字节在 key[0]key[7] 范围内(包含两者)

参数:
key - 具有 DES 密钥内容的缓冲区。复制该缓冲区的前 8 个字节来防止后续修改。
抛出:
NullPointerException - 如果给定的密钥内容为 null
InvalidKeyException - 如果给定的密钥内容短于 8 个字节。

DESKeySpec

public DESKeySpec(byte[] key,
                  int offset)
           throws InvalidKeyException
创建一个 DESKeySpec 对象,使用 key 中始于且包含 offset 的前 8 个字节作为 DES-EDE 密钥的密钥内容。

组成 DES 密钥的字节在 key[offset]key[offset+7] 范围内(包含两者)。

参数:
key - 具有 DES 密钥内容的缓冲区。复制该缓冲区始于且包含 offset 的前 8 个字节来防止后续修改。
offset - key 中的偏移量,DES 密钥内容从此处开始。
抛出:
NullPointerException - 如果给定的密钥内容为 null
InvalidKeyException - 如果给定的始于且包含 offset 的密钥内容短于 8 个字节。
方法详细信息

getKey

public byte[] getKey()
返回 DES 密钥内容。

返回:
返回 DES 密钥内容。每一次调用此方法都返回一个新数组。

isParityAdjusted

public static boolean isParityAdjusted(byte[] key,
                                       int offset)
                                throws InvalidKeyException
确定给定的始于且包含 offset 的 DES 密钥内容是否是奇偶校验的 (parity-adjusted)。

参数:
key - 具有 DES 密钥内容的缓冲区。
offset - key 中的偏移量,DES 密钥内容从此处开始。
返回:
如果给定的 DES 密钥内容是奇偶校验的,则返回 true,否则返回 false。
抛出:
InvalidKeyException - 如果给定的密钥内容为 null,或者始于且包含 offset 的密钥内容短于 8 个字节。

isWeak

public static boolean isWeak(byte[] key,
                             int offset)
                      throws InvalidKeyException
确定给定的 DES 密钥内容是否是全弱或者半弱的。

参数:
key - 具有 DES 密钥内容的缓冲区。
offset - key 中的偏移量,DES 密钥内容从此处开始。
返回:
如果给定的 DES 密钥内容是全弱或者半弱的,则返回 true,否则返回 false。
抛出:
InvalidKeyException - 如果给定的密钥内容为 null,或者始于且包含 offset 的密钥内容短于 8 个字节。