CipherSpi — Cipher 클래스의 서비스 프로바이더 인터페이스

CipherSpi — Cipher 클래스의 서비스 프로바이더 인터페이스

Cipher 클래스의 서비스 프로바이더 인터페이스(SPI) 를 정의하는 추상 클래스예요. 특정 암호 알고리즘 구현을 제공하려는 각 암호화 서비스 프로바이더는 이 클래스의 모든 추상 메서드를 구현해야 해요.

출처: Java API Reference

본문

public abstract class CipherSpi extends Object

CipherSpi 인스턴스를 캡슐화하는 Cipher 인스턴스를 만들려면, 애플리케이션이 Cipher 엔진 클래스의 getInstance 팩토리 메서드 중 하나를 호출하고 요청된 변환(transformation) 을 지정해요. 선택적으로 프로바이더 이름도 지정할 수 있어요.

변환(transformation) 은 주어진 입력에 수행될 연산을 설명하는 문자열이에요. 항상 암호화 알고리즘 이름(예: AES)을 포함하며, 피드백 모드와 패딩 방식이 뒤에 올 수 있어요. 형태는 다음과 같아요:

  • "algorithm/mode/padding" 또는
  • "algorithm" (이 경우 프로바이더별 기본 모드·패딩이 사용돼요)

예를 들어 AES/CBC/PKCS5Padding 같은 변환을 지정할 수 있어요.

주요 추상 메서드

  • engineSetMode(String mode) — 이 암호의 모드를 설정해요.

  • engineSetPadding(String padding) — 이 암호의 패딩 방식을 설정해요.

  • engineGetBlockSize() — 블록 크기를 반환해요.

  • engineInit(int opmode, Key key, ...) — 암호화·복호화용으로 초기화해요.

  • engineUpdate(...) — 여러 부분으로 나뉜 연산을 계속 처리해요.

  • engineDoFinal(...) — 여러 부분으로 나뉜 연산을 마무리해요.

  • 도입 시점(Since): 1.4

더 알아보기 (Learn more)