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)指定されたバイト配列から秘密キーを構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。StringgetAlgorithm()この秘密キーに関連付けられているアルゴリズム名を返します。byte[]getEncoded()この秘密キーのキー・データを返します。StringgetFormat()この秘密キーの符号化形式の名前を返します。inthashCode()オブジェクトのハッシュ・コード値を計算します。
- 
コンストラクタの詳細- 
SecretKeySpecpublic SecretKeySpec(byte[] key, String algorithm)指定されたバイト配列から秘密キーを構築します。このコンストラクタは、指定されたバイトが指定されたアルゴリズムの秘密キーを実際に指定するかどうかは判定しません。 たとえば、アルゴリズムがDESの場合、このコンストラクタは keyが8バイトの長さであるかどうかを判定せず、弱または半弱のキーであるかどうかも判定しません。 これらの判定を行うためには、アルゴリズム固有のキー仕様クラス(この場合はDESKeySpec)を使用する必要があります。- パラメータ:
- key- 秘密キーのキー・データ。 この配列の内容は、後続の変更に影響されないようにコピーされる。
- algorithm- 指定されたキー・データに関連する秘密キーアルゴリズムの名前。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。
- 例外:
- IllegalArgumentException-- algorithmがnull、あるいは- keyがnullまたは空の場合。
 
- 
SecretKeySpecpublic 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の範囲内にない場合スローされる。
 
 
- 
- 
メソッドの詳細- 
getAlgorithmpublic String getAlgorithm()この秘密キーに関連付けられているアルゴリズム名を返します。- 定義:
- getAlgorithm、インタフェース:- Key
- 戻り値:
- 秘密キーアルゴリズム
 
- 
getFormatpublic String getFormat()この秘密キーの符号化形式の名前を返します。
- 
getEncodedpublic byte[] getEncoded()この秘密キーのキー・データを返します。- 定義:
- getEncoded、インタフェース:- Key
- 戻り値:
- キー・データ。 このメソッドが呼び出されるたびに新しい配列を返す。
 
- 
hashCodepublic int hashCode()オブジェクトのハッシュ・コード値を計算します。 等しいオブジェクトはハッシュ・コードも同じです。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
equalspublic boolean equals(Object obj)指定されたオブジェクトとこのオブジェクトが等価であるかどうかをテストします。 2つのSecretKeySpecオブジェクトは、どちらも同じ大文字と小文字を区別しないアルゴリズム名とキーのエンコーディングを持つSecretKeyインスタンスであれば等しいと見なされます。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- このオブジェクトと等しいかどうかが判定されるオブジェクト。
- 戻り値:
- オブジェクトが等しいと見なされた場合はtrue、それ以外の場合、またはobjがnullの場合はfalse。
- 関連項目:
- Object.hashCode()、- HashMap
 
 
-