JavaTM 2
Platform
Std. Ed. v1.4.0

javax.crypto.spec
クラス SecretKeySpec

java.lang.Object
  |
  +--javax.crypto.spec.SecretKeySpec
すべての実装インタフェース:
Key, KeySpec, SecretKey, Serializable

public class SecretKeySpec
extends Object
implements KeySpec, SecretKey

プロバイダに依存しない形式で秘密鍵を指定します。

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

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

導入されたバージョン:
1.4
関連項目:
SecretKey, SecretKeyFactory, 直列化された形式

フィールドの概要
 
インタフェース java.security.Key から継承したフィールド
serialVersionUID
 
コンストラクタの概要
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()
          オブジェクトのハッシュコード値を計算します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SecretKeySpec

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

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

パラメータ:
key - 秘密鍵の鍵データ
algorithm - 指定された鍵データに関連する秘密鍵アルゴリズムの名前。アルゴリズムの標準名については、「Java 暗号化アーキテクチャ API の仕様およびリファレンス」の付録 A を参照

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 - 鍵データが始まる key 内のオフセット
len - 鍵データの長さ
algorithm - 指定された鍵データに関連する秘密鍵アルゴリズムの名前。アルゴリズムの標準名については、「Java 暗号化アーキテクチャ API の仕様およびリファレンス」の付録 A を参照
メソッドの詳細

getAlgorithm

public String getAlgorithm()
この秘密鍵に関連したアルゴリズムの名前を返します。

定義:
インタフェース Key 内の getAlgorithm
戻り値:
秘密鍵アルゴリズム

getFormat

public String getFormat()
この秘密鍵の符号化形式の名前を返します。

定義:
インタフェース Key 内の getFormat
戻り値:
「生の」文字列

getEncoded

public byte[] getEncoded()
この秘密鍵の鍵データを返します。

定義:
インタフェース Key 内の getEncoded
戻り値:
鍵データ

hashCode

public int hashCode()
オブジェクトのハッシュコード値を計算します。等しいオブジェクトはハッシュコードも同じです。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
クラス Object の記述:
このオブジェクトと他のオブジェクトが等しいかどうかを示します。

equals メソッドは同値関係を実装します。

Object クラスの equals メソッドは、もっとも比較しやすいオブジェクトの同値関係を実装します。つまり、すべての参照値 xy について、このメソッドは xy が同じオブジェクトを参照する (x==ytrue) 場合にだけ true を返します。

通常、このメソッドをオーバーライドする場合は、hashCode メソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という hashCode メソッドの汎用規約に従う必要があることに留意してください。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象の参照オブジェクト
戻り値:
obj 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.