AlgorithmParameters — 알고리즘 파라미터
AlgorithmParameters — 알고리즘 파라미터
암호화 파라미터의 불투명(opaque) 표현으로 사용되는 클래스예요. 특정 알고리즘에 대한 파라미터를 관리하는 AlgorithmParameters 객체는 getInstance 팩토리 메서드로 얻을 수 있어요. 얻은 후에는 적절한 파라미터 명세나 파라미터 인코딩으로 init을 호출해 초기화해야 해요.
본문
투명(transparent) 파라미터 명세는 getParameterSpec 호출로 AlgorithmParameters 객체에서 얻고, 파라미터의 바이트 인코딩은 getEncoded 호출로 얻어요.
Java 플랫폼의 모든 구현은 다음 표준 알고리즘을 지원해야 해요: AES, DESede, DiffieHellman, DSA.
주요 메서드
public final String getAlgorithm()— 이 파라미터 객체와 연관된 알고리즘 이름을 반환해요.public static AlgorithmParameters getInstance(String algorithm) throws NoSuchAlgorithmException— 지정된 알고리즘에 대한 파라미터 객체를 반환해요.public static AlgorithmParameters getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException— 지정된 알고리즘과 프로바이더에 대한 파라미터 객체를 반환해요.public static AlgorithmParameters getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException— 지정된 알고리즘과Provider객체에 대한 파라미터 객체를 반환해요.public final Provider getProvider()— 이 파라미터 객체의 프로바이더를 반환해요.public final void init(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException—paramSpec에 지정된 파라미터로 이 파라미터 객체를 초기화해요.public final void init(byte[] params) throws IOException— 지정된 파라미터를 가져와 기본 디코딩 형식으로 디코딩해 초기화해요.public final void init(byte[] params, String format) throws IOException— 지정된 디코딩 방식으로params를 디코딩해 초기화해요.format이null이면 기본 형식을 사용해요.public final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec) throws InvalidParameterSpecException— 이 파라미터 객체의 (투명한) 명세를 반환해요.public final byte[] getEncoded() throws IOException— 기본 인코딩 형식(ASN.1)으로 파라미터를 반환해요.public final byte[] getEncoded(String format) throws IOException— 지정된 방식으로 인코딩된 파라미터를 반환해요.public final String toString()— 파라미터를 설명하는 형식화된 문자열을 반환해요.
AlgorithmParameters params = AlgorithmParameters.getInstance("AES");
params.init(new IvParameterSpec(new byte[16]));
byte[] encoded = params.getEncoded(); // ASN.1 인코딩