JavaTM Platform
Standard Ed. 6

javax.crypto.spec
클래스 PBEKeySpec

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)
          패스워드, salt, 및 고정열쇠 사이즈의 PBE 암호의 PBEKey 를 생성하기 위한 반복수를 취하는 생성자 입니다.
PBEKeySpec (char[] password, byte[] salt, int iterationCount, int keyLength)
          패스워드, salt, 반복수, 및 가변열쇠 사이즈의 PBE 암호의 PBEKey 를 생성하기 위해서 파생되는 열쇠의 길이를 취하는 생성자 입니다.
 
메소드의 개요
 void clearPassword ()
          패스워드의 내부 카피를 소거합니다.
 int getIterationCount ()
          반복 처리의 회수를 돌려줍니다.
 int getKeyLength ()
          나타나는 열쇠의 길이를 돌려줍니다.
 char[] getPassword ()
          패스워드의 카피를 돌려줍니다.
 byte[] getSalt ()
          salt 의 카피를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

PBEKeySpec

public PBEKeySpec(char[] password)
패스워드를 취하는 생성자 입니다. null 가 지정되었을 경우는, 빈 상태(empty)의 char[] 가 사용됩니다.

주:password 는, 복제되고 나서 새로운 PBEKeySpec 객체에 포함됩니다.

파라미터:
password - 패스워드

PBEKeySpec

public PBEKeySpec(char[] password,
                  byte[] salt,
                  int iterationCount,
                  int keyLength)
패스워드, salt, 반복수, 및 가변열쇠 사이즈의 PBE 암호의 PBEKey 를 생성하기 위해서 파생되는 열쇠의 길이를 취하는 생성자 입니다. password 에 null 가 지정되었을 경우는, 빈 상태(empty)의 char[] 가 사용됩니다.

주:passwordsalt 는, 복제되고 나서 새로운 PBEKeySpec 객체에 포함됩니다.

파라미터:
password - 패스워드
salt - salt
iterationCount - 반복수
keyLength - 파생되는 열쇠의 길이
예외:
NullPointerException - salt 가 null 의 경우
IllegalArgumentException - salt 가 빈 상태(empty), 즉 길이 0 인 경우, 혹은 iterationCount 또는 keyLength 가 정이 아닌 경우

PBEKeySpec

public PBEKeySpec(char[] password,
                  byte[] salt,
                  int iterationCount)
패스워드, salt, 및 고정열쇠 사이즈의 PBE 암호의 PBEKey 를 생성하기 위한 반복수를 취하는 생성자 입니다. password 에 null 가 지정되었을 경우는, 빈 상태(empty)의 char[] 가 사용됩니다.

주:passwordsalt 는, 복제되고 나서 새로운 PBEKeySpec 객체에 포함됩니다.

파라미터:
password - 패스워드
salt - salt
iterationCount - 반복수
예외:
NullPointerException - salt 가 null 의 경우
IllegalArgumentException - salt 가 빈 상태(empty), 즉 길이 0 인 경우, 또는 iterationCount 가 정이 아닌 경우
메소드의 상세

clearPassword

public final void clearPassword()
패스워드의 내부 카피를 소거합니다.


getPassword

public final char[] getPassword()
패스워드의 카피를 돌려줍니다.

주:이 메소드는, 패스워드의 카피를 돌려줍니다. 불필요하게 된 패스워드 정보를 제로로 하는 (소거한다) 것은, 호출측의 책임입니다.

반환값:
패스워드
예외:
IllegalStateException - clearPassword 메소드를 호출해 패스워드가 클리어 되었을 경우

getSalt

public final byte[] getSalt()
salt 의 카피를 돌려줍니다. 지정이 없는 경우는 null 를 돌려줍니다.

주:이 메소드는, salt의 카피를 돌려줍니다. 불필요하게 된 salt 정보를 제로로 하는 (소거한다) 것은, 호출측의 책임입니다.

반환값:
salt

getIterationCount

public final int getIterationCount()
반복 처리의 회수를 돌려줍니다. 지정이 없는 경우는 0 을 돌려줍니다.

반환값:
반복수

getKeyLength

public final int getKeyLength()
나타나는 열쇠의 길이를 돌려줍니다. 지정이 없는 경우는 0 을 돌려줍니다.

주:이것은, 가변열쇠 사이즈 암호의 열쇠의 길이의 설정을 나타내는데 사용됩니다. 실제의 열쇠 사이즈는 각 프로바이더의 구현에 따라서 다릅니다.

반환값:
파생되는 열쇠의 길이

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.