public class SecretKeySpec extends Object implements KeySpec, SecretKey
このクラスを使用して、バイト配列からSecretKey
を構築することができ、プロバイダ・ベースのSecretKeyFactory
を使用する必要がありません。
このクラスは、バイト配列として表すことができ、DESやTriple DESキーなど、秘密キーに関連したキー・パラメータがない生の秘密キーに対してだけ有効です。
SecretKey
, SecretKeyFactory
, 直列化された形式コンストラクタ | 説明 |
---|---|
SecretKeySpec(byte[] key, int offset, int len, String algorithm) |
offset から始まるkey の最初のlen バイトを使用して、指定されたバイト配列から秘密キーを構築します。 |
SecretKeySpec(byte[] key, String algorithm) |
指定されたバイト配列から秘密キーを構築します。
|
修飾子と型 | メソッド | 説明 |
---|---|---|
boolean |
equals(Object obj) |
指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。
|
String |
getAlgorithm() |
この秘密キーに関連付けられているアルゴリズム名を返します。
|
byte[] |
getEncoded() |
この秘密キーのキー・データを返します。
|
String |
getFormat() |
この秘密キーの符号化形式の名前を返します。
|
int |
hashCode() |
オブジェクトのハッシュ・コード値を計算します。
|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
destroy, isDestroyed
public SecretKeySpec(byte[] key, String algorithm)
このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密キーを実際に指定するかどうかは判定しません。 たとえば、アルゴリズムがDESの場合、このコンストラクタはkey
が8バイトの長さであるかどうかを判定せず、弱または半弱のキーであるかどうかも判定しません。 これらの判定を行うためには、アルゴリズム固有のキー仕様クラス(この場合はDESKeySpec
)を使用する必要があります。
key
- 秘密キーのキー・データ。 この配列の内容は、後続の変更に影響されないようにコピーされます。 algorithm
- 指定されたキー・データに関連する秘密キー・アルゴリズムの名前。 標準のアルゴリズム名については、Java暗号化アーキテクチャ・リファレンス・ガイドの付録Aを参照してください。 IllegalArgumentException
- algorithm
がnull、あるいはkey
がnullまたは空の場合。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暗号化アーキテクチャ・リファレンス・ガイドの付録Aを参照。 IllegalArgumentException
- algorithm
がnull、あるいはkey
がnull、空、または短すぎる(つまりkey.length-offset<len
)場合。ArrayIndexOutOfBoundsException
- offset
またはlen
のインデックス・バイトがkey
の範囲内にない場合スローされる。public String getAlgorithm()
getAlgorithm
、インタフェースKey
public byte[] getEncoded()
getEncoded
、インタフェースKey
public int hashCode()
hashCode
、クラスObject
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
equals
、クラスObject
obj
- このオブジェクトと等しいかどうかが判定されるオブジェクト。obj
がnullの場合はfalse。Object.hashCode()
, HashMap
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。