CipherInputStream — Cipher로 처리된 데이터를 읽는 입력 스트림

CipherInputStream — Cipher로 처리된 데이터를 읽는 입력 스트림

InputStreamCipher 객체로 구성되어, read() 메서드가 기본 InputStream에서 읽은 데이터를 Cipher로 추가 처리한 결과로 반환하는 클래스예요.

출처: Java API Reference

본문

public class CipherInputStream extends FilterInputStream

Cipher 객체는 CipherInputStream이 사용하기 전에 완전히 초기화되어야 해요. 예를 들어 Cipher가 복호화용으로 초기화되었다면, CipherInputStream은 데이터를 읽어 복호화한 뒤 그 결과를 반환해요.

이 클래스는 조상 클래스 java.io.FilterInputStreamjava.io.InputStream의 의미(특히 실패 의미론)를 엄격히 따르며, 조상 클래스가 던지지 않는 모든 예외를 잡아 처리해요. 특히 skip 메서드는 건너뛰고, available 메서드는 Cipher로 처리된 데이터만 셈해요.

주요 생성자

  • CipherInputStream(InputStream is, Cipher c) — 기본 스트림과 Cipher로 생성해요.

주요 메서드

  • read() — 기본 스트림에서 읽고 Cipher로 처리한 다음 바이트를 반환해요.

  • read(byte[] b, int off, int len) — 처리된 데이터를 바이트 배열로 읽어요.

  • available()Cipher로 처리된 사용 가능한 바이트 수를 반환해요.

  • skip(long n) — 기본 스트림에서 지정된 수의 바이트를 건너뛰되, Cipher 처리의 제한을 받아요.

  • close() — 이 입력 스트림을 닫아요.

  • 도입 시점(Since): 1.4

더 알아보기 (Learn more)