Java™ Platform
Standard Ed. 8
compact1, compact2, compact3
javax.crypto.spec

Class DESKeySpec

  • All Implemented Interfaces:
    KeySpec


    public class DESKeySpec
    extends Object
    implements KeySpec
    This class specifies a DES key.
    Since:
    1.4
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int DES_KEY_LEN
      The constant which defines the length of a DES key in bytes.
    • Constructor Summary

      Constructors 
      Constructor and Description
      DESKeySpec(byte[] key)
      Creates a DESKeySpec object using the first 8 bytes in key as the key material for the DES key.
      DESKeySpec(byte[] key, int offset)
      Creates a DESKeySpec object using the first 8 bytes in key, beginning at offset inclusive, as the key material for the DES key.
    • 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 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 is null
        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 at offset inclusive are copied to protect against subsequent modification.
        offset - the offset in key, where the DES key material starts.
        Throws:
        NullPointerException - if the given key material is null
        InvalidKeyException - if the given key material, starting at offset 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 at offset inclusive, is parity-adjusted.
        Parameters:
        key - the buffer with the DES key material.
        offset - the offset in key, 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 is null, or starting at offset 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 in key, 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 is null, or starting at offset inclusive, is shorter than 8 bytes.
Java™ Platform
Standard Ed. 8

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部