AlgorithmParameters — 알고리즘 파라미터

AlgorithmParameters — 알고리즘 파라미터

암호화 파라미터의 불투명(opaque) 표현으로 사용되는 클래스예요. 특정 알고리즘에 대한 파라미터를 관리하는 AlgorithmParameters 객체는 getInstance 팩토리 메서드로 얻을 수 있어요. 얻은 후에는 적절한 파라미터 명세나 파라미터 인코딩으로 init을 호출해 초기화해야 해요.

출처: Java API Reference

본문

투명(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 InvalidParameterSpecExceptionparamSpec에 지정된 파라미터로 이 파라미터 객체를 초기화해요.
  • public final void init(byte[] params) throws IOException — 지정된 파라미터를 가져와 기본 디코딩 형식으로 디코딩해 초기화해요.
  • public final void init(byte[] params, String format) throws IOException — 지정된 디코딩 방식으로 params를 디코딩해 초기화해요. formatnull이면 기본 형식을 사용해요.
  • 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 인코딩

더 알아보기 (Learn more)