モジュール java.base
パッケージ javax.crypto.spec

クラスSecretKeySpec

java.lang.Object
javax.crypto.spec.SecretKeySpec
すべての実装されたインタフェース:
Serializable, Key, KeySpec, SecretKey, Destroyable

public class SecretKeySpec extends Object implements KeySpec, SecretKey
プロバイダに依存しない形式で秘密キーを指定します。

このクラスを使用して、バイト配列からSecretKeyを構築することができ、プロバイダ・ベースのSecretKeyFactoryを使用する必要がありません。

このクラスは、バイト配列として表すことができ、DESやTriple DESキーなど、秘密キーに関連したキー・パラメータがない生の秘密キーに対してだけ有効です。

導入されたバージョン:
1.4
関連項目:
SecretKey, SecretKeyFactory, 直列化された形式
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    SecretKeySpec​(byte[] key, int offset, int len, String algorithm)
    offsetから始まるkeyの最初のlenバイトを使用して、指定されたバイト配列から秘密キーを構築します。
    SecretKeySpec​(byte[] key, String algorithm)
    指定されたバイト配列から秘密キーを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    equals​(Object obj)
    指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。
    この秘密キーに関連付けられているアルゴリズム名を返します。
    byte[]
    この秘密キーのキー・データを返します。
    この秘密キーの符号化形式の名前を返します。
    int
    オブジェクトのハッシュ・コード値を計算します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    インタフェース javax.security.auth.Destroyableで宣言されたメソッド

    destroy, isDestroyed
  • コンストラクタの詳細

    • SecretKeySpec

      public SecretKeySpec(byte[] key, String algorithm)
      指定されたバイト配列から秘密キーを構築します。

      このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密キーを実際に指定するかどうかは判定しません。 たとえば、アルゴリズムがDESの場合、このコンストラクタはkeyが8バイトの長さであるかどうかを判定せず、弱または半弱のキーであるかどうかも判定しません。 これらの判定を行うためには、アルゴリズム固有のキー仕様クラス(この場合はDESKeySpec)を使用する必要があります。

      パラメータ:
      key - 秘密キーのキー・データ。 この配列の内容は、後続の変更に影響されないようにコピーされる。
      algorithm - 指定されたキー・データに関連する秘密キーアルゴリズムの名前。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。
      例外:
      IllegalArgumentException - algorithmがnull、あるいはkeyがnullまたは空の場合。
    • SecretKeySpec

      public SecretKeySpec(byte[] key, int offset, int len, String algorithm)
      offsetから始まるkeyの最初のlenバイトを使用して、指定されたバイト配列から秘密キーを構築します。

      秘密キーを構成するバイトは、key[offset]からkey[offset+len-1]までのバイトです。

      このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密キーを実際に指定するかどうかは判定しません。 たとえば、アルゴリズムがDESの場合、このコンストラクタはkeyが8バイトの長さであるかどうかを判定せず、弱または半弱のキーであるかどうかも判定しません。 これらの判定を行うためには、アルゴリズム固有のキー仕様クラス(この場合はDESKeySpec)を使用する必要があります。

      パラメータ:
      key - 秘密キーのキー・データ。 配列のoffsetから始まる最初のlenバイトは、後続の変更に影響されないようにコピーされる。
      offset - キー・データが始まるkey内のオフセット。
      len - キー・データの長さ。
      algorithm - 指定されたキー・データに関連する秘密キーアルゴリズムの名前。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。
      例外:
      IllegalArgumentException - algorithmがnull、あるいはkeyがnull、空、または短すぎる(つまりkey.length-offset<len)場合。
      ArrayIndexOutOfBoundsException - offsetまたはlenのインデックス・バイトがkeyの範囲内にない場合スローされる。
  • メソッドの詳細

    • getAlgorithm

      public String getAlgorithm()
      この秘密キーに関連付けられているアルゴリズム名を返します。
      定義:
      getAlgorithm、インタフェース: Key
      戻り値:
      秘密キーアルゴリズム
    • getFormat

      public String getFormat()
      この秘密キーの符号化形式の名前を返します。
      定義:
      getFormat、インタフェース: Key
      戻り値:
      「生の」文字列
    • getEncoded

      public byte[] getEncoded()
      この秘密キーのキー・データを返します。
      定義:
      getEncoded、インタフェース: Key
      戻り値:
      キー・データ。 このメソッドが呼び出されるたびに新しい配列を返す。
    • hashCode

      public int hashCode()
      オブジェクトのハッシュ・コード値を計算します。 等しいオブジェクトはハッシュ・コードも同じです。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • equals

      public boolean equals(Object obj)
      指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。 2つのSecretKeySpecオブジェクトは、どちらも同じ大文字と小文字を区別しないアルゴリズム名とキーのエンコーディングを持つSecretKeyインスタンスであれば等しいと見なされます。
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - このオブジェクトと等しいかどうかが判定されるオブジェクト。
      戻り値:
      オブジェクトが等しいと見なされた場合はtrue、それ以外の場合、またはobjがnullの場合はfalse。
      関連項目:
      Object.hashCode()HashMap