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()
オブジェクトのハッシュコード値を計算します。
|
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.) 場合。
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, 2013, Oracle and/or its affiliates. All rights reserved.