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