Module java.base

Class DESKeySpec

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

public class DESKeySpec extends Object implements KeySpec
该类指定了一个DES密钥。
自JDK版本:
1.4
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    定义了DES密钥的长度常量(以字节为单位)。
  • Constructor Summary

    Constructors
    Constructor
    Description
    DESKeySpec(byte[] key)
    使用key中的前8个字节作为DES密钥的密钥材料创建一个DESKeySpec对象。
    DESKeySpec(byte[] key, int offset)
    使用key中的前8个字节(从offset开始)作为DES密钥的密钥材料创建一个DESKeySpec对象。
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    getKey()
    返回DES密钥材料。
    static boolean
    isParityAdjusted(byte[] key, int offset)
    检查给定的DES密钥材料(从offset开始)是否进行了奇偶校验。
    static boolean
    isWeak(byte[] key, int offset)
    检查给定的DES密钥材料是否是弱密钥或半弱密钥。

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DES_KEY_LEN

      public static final int DES_KEY_LEN
      定义了DES密钥的长度常量(以字节为单位)。
      参见:
  • Constructor Details

    • DESKeySpec

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

      构成DES密钥的字节是key[0]key[7](包括)之间的字节。

      参数:
      key - 包含DES密钥材料的缓冲区。将缓冲区的前8个字节复制以防止后续修改。
      抛出:
      NullPointerException - 如果给定的密钥材料为null
      InvalidKeyException - 如果给定的密钥材料少于8个字节。
    • DESKeySpec

      public DESKeySpec(byte[] key, int offset) throws InvalidKeyException
      使用key中的前8个字节(从offset开始)作为DES密钥的密钥材料创建一个DESKeySpec对象。

      构成DES密钥的字节是key[offset]key[offset+7](包括)之间的字节。

      参数:
      key - 包含DES密钥材料的缓冲区。将从offset开始的缓冲区的前8个字节复制以防止后续修改。
      offset - DES密钥材料开始的偏移量。
      抛出:
      NullPointerException - 如果给定的密钥材料为null
      InvalidKeyException - 如果从offset开始的给定的密钥材料少于8个字节。
  • Method Details

    • getKey

      public byte[] getKey()
      返回DES密钥材料。
      返回:
      DES密钥材料。每次调用此方法时都会返回一个新数组。
    • isParityAdjusted

      public static boolean isParityAdjusted(byte[] key, int offset) throws InvalidKeyException
      检查给定的DES密钥材料(从offset开始)是否进行了奇偶校验。
      参数:
      key - 包含DES密钥材料的缓冲区。
      offset - DES密钥材料开始的偏移量。
      返回:
      如果给定的DES密钥材料进行了奇偶校验,则返回true,否则返回false。
      抛出:
      InvalidKeyException - 如果给定的密钥材料为null,或者从offset开始的密钥材料少于8个字节。
    • isWeak

      public static boolean isWeak(byte[] key, int offset) throws InvalidKeyException
      检查给定的DES密钥材料是否是弱密钥或半弱密钥。
      参数:
      key - 包含DES密钥材料的缓冲区。
      offset - DES密钥材料开始的偏移量。
      返回:
      如果给定的DES密钥材料是弱密钥或半弱密钥,则返回true,否则返回false。
      抛出:
      InvalidKeyException - 如果给定的密钥材料为null,或者从offset开始的密钥材料少于8个字节。