- java.lang.Object
- 
- javax.crypto.spec.PBEKeySpec
 
- 
- すべての実装されたインタフェース:
- KeySpec
 
 public class PBEKeySpec extends Object implements KeySpec パスワードベースの暗号化(PBE)で使用できる、ユーザーが選択したパスワードです。パスワードは一種の生の鍵データと見なすことができます。パスワードを使用する暗号化メカニズムは、鍵データから暗号化鍵を派生します。 PBEメカニズムが異なると、各パスワード文字のビット数も異なる場合があります。 たとえば、PKCS#5で定義されているPBEメカニズムは、各文字の下位8ビットだけを使用し、PKCS#12では、各文字の16ビットすべてを使用します。 該当する秘密鍵ファクトリのインスタンスを生成して、パスワード文字をPBE鍵に変換します。 たとえば、PKCS#5の秘密鍵ファクトリは各パスワード文字の下位8ビットだけからPBE鍵を構築し、PKCS#12の秘密鍵ファクトリは各文字の16ビットすべてをとります。 また、このクラスは、パスワードを Stringオブジェクト(この方が論理的に思えるかもしれません)ではなくchar配列として格納します。これは、Stringクラスは変更不可能なので、格納されているパスワードが必要なくなったときに内部値を上書きする方法がないためです。 つまり、このクラスは、パスワードをchar配列として要求するので、完了時に上書きできます。- 導入されたバージョン:
- 1.4
- 関連項目:
- SecretKeyFactory,- PBEParameterSpec
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 PBEKeySpec(char[] password)パスワードをとるコンストラクタです。PBEKeySpec(char[] password, byte[] salt, int iterationCount)パスワード、ソルト、および固定鍵サイズのPBE暗号のPBEKeyを生成するための繰返し数をとるコンストラクタです。PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength)パスワード、ソルト、繰返し数、および可変鍵サイズのPBE暗号のPBEKeyを生成するために派生される鍵の長さをとるコンストラクタです。
 - 
メソッドのサマリーすべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidclearPassword()パスワードの内部コピーを消去します。intgetIterationCount()反復処理の回数を返します。指定がない場合は0を返します。intgetKeyLength()派生される鍵の長さを返します。指定がない場合は0を返します。char[]getPassword()パスワードのコピーを返します。byte[]getSalt()saltのコピーを返します。指定がない場合はnullを返します。
 
- 
- 
- 
コンストラクタの詳細- 
PBEKeySpecpublic PBEKeySpec(char[] password) パスワードをとるコンストラクタです。 nullが指定された場合は、空のchar[]が使用されます。注: passwordは、複製されてから新しいPBEKeySpecオブジェクトに格納されます。- パラメータ:
- password- パスワード。
 
 - 
PBEKeySpecpublic PBEKeySpec(char[] password, byte[] salt, int iterationCount, int keyLength)パスワード、ソルト、繰返し数、および可変鍵サイズのPBE暗号のPBEKeyを生成するために派生される鍵の長さをとるコンストラクタです。passwordにnullが指定された場合は、空のchar[]が使用されます。注: passwordおよびsaltは、複製されてから新しいPBEKeySpecオブジェクトに格納されます。- パラメータ:
- password- パスワード。
- salt- ソルト。
- iterationCount- 反復数。
- keyLength- 派生される鍵の長さ。
- 例外:
- NullPointerException-- saltがnullである場合。
- IllegalArgumentException-- saltが空、つまり長さ0である場合、- iterationCountまたは- keyLengthが正でない場合。
 
 - 
PBEKeySpecpublic PBEKeySpec(char[] password, byte[] salt, int iterationCount)パスワード、ソルト、および固定鍵サイズのPBE暗号のPBEKeyを生成するための繰返し数をとるコンストラクタです。passwordにnullが指定された場合は、空のchar[]が使用されます。注: passwordおよびsaltは、複製されてから新しいPBEKeySpecオブジェクトに格納されます。- パラメータ:
- password- パスワード。
- salt- ソルト。
- iterationCount- 反復数。
- 例外:
- NullPointerException-- saltがnullである場合。
- IllegalArgumentException-- saltが空、つまり長さ0である場合、または- iterationCountが正でない場合。
 
 
- 
 - 
メソッドの詳細- 
clearPasswordpublic final void clearPassword() パスワードの内部コピーを消去します。
 - 
getPasswordpublic final char[] getPassword() パスワードのコピーを返します。注: このメソッドは、パスワードのコピーを返します。 不要になったパスワード情報をゼロにする(消去する)のは、呼出し元の責任です。 - 戻り値:
- パスワード
- 例外:
- IllegalStateException-- clearPasswordメソッドを呼び出してパスワードがクリアされた場合。
 
 - 
getSaltpublic final byte[] getSalt() saltのコピーを返します。指定がない場合はnullを返します。注: このメソッドは、ソルトのコピーを返します。 不要になったソルト情報をゼロにする(消去する)のは、呼出し側の責任です。 - 戻り値:
- ソルト。
 
 - 
getIterationCountpublic final int getIterationCount() 反復処理の回数を返します。指定がない場合は0を返します。- 戻り値:
- 繰返し数
 
 - 
getKeyLengthpublic final int getKeyLength() 派生される鍵の長さを返します。指定がない場合は0を返します。注: これは、可変鍵サイズ暗号の鍵の長さの設定を示すのに使用されます。 実際の鍵サイズは各プロバイダの実装によって異なります。 - 戻り値:
- 派生される鍵の長さ
 
 
- 
 
-