JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.security
클래스 DigestInputStream

java.lang.Object 
  |
  +--java.io.InputStream 
        |
        +--java.io.FilterInputStream 
              |
              +--java.security.DigestInputStream

public class DigestInputStream
extends FilterInputStream

스트림을 통과하는 비트를 사용해, 관련한 메세지 다이제스트를 갱신하는 투명한 스트림입니다.

메세지 다이제스트의 계산을 완료하려면 , 이 다이제스트 입력 스트림의 read 메소드의 1 개를 호출한 뒤, 관련한 메세지 다이제스트에 대해서 digest 메소드의 1 개를 호출합니다.

이 스트림을 온 또는 오프 할 수가 있습니다 (on 를 참조). 온의 경우,read 메소드의 1 개를 호출하면(자), 메세지 다이제스트가 갱신됩니다. 다만, 오프의 경우에는 메세지 다이제스트는 갱신되지 않습니다. 스트림에 대한 디폴트는 온입니다.

다이제스트 오브젝트는 다이제스트를 1 개 밖에 계산할 수 없기 때문에 (MessageDigest 를 참조), 중간적인 다이제스트를 계산하려면 , 호출측이 그 다이제스트 오브젝트에 대한 핸들을 유지해, 각 계산 대상의 다이제스트에 대해서 복제를 생성해, 원의 다이제스트를 그대로 해 둘 필요가 있는 것에 주의해 주세요.

관련 항목:
MessageDigest , DigestOutputStream

필드의 개요
protected  MessageDigest digest
          이 스트림에 관련한 메세지 다이제스트입니다.
 
클래스 java.io. FilterInputStream 에서 상속받은 필드
in
 
생성자의 개요
DigestInputStream (InputStream  stream, MessageDigest  digest)
          지정된 입력 스트림과 메세지 다이제스트를 사용해, 다이제스트를 입력하는 스트림을 작성합니다.
 
메소드의 개요
 MessageDigest getMessageDigest ()
          이 스트림에 관련한 메세지 다이제스트를 돌려줍니다.
 void on (boolean on)
          다이제스트 기능을 온 또는 오프로 합니다.
 int read ()
          1 바이트를 읽어들여, 메세지 다이제스트를 갱신합니다 (다이제스트 기능이 온인 경우).
 int read (byte[] b, int off, int len)
          바이트 배열에 읽어들여, 메세지 다이제스트를 갱신합니다 (다이제스트 기능이 온인 경우).
 void setMessageDigest (MessageDigest  digest)
          지정된 메세지 다이제스트를 이 스트림에 관련짓습니다.
 String toString ()
          이 다이제스트 입력 스트림과 거기에 관련한 메세지 다이제스트 오브젝트의 캐릭터 라인 표현을 출력합니다.
 
클래스 java.io. FilterInputStream 에서 상속받은 메소드
available , close , mark , markSupported , read , reset , skip
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

digest

protected MessageDigest  digest
이 스트림에 관련한 메세지 다이제스트입니다.

생성자의 상세

DigestInputStream

public DigestInputStream(InputStream  stream,
                         MessageDigest  digest)
지정된 입력 스트림과 메세지 다이제스트를 사용해, 다이제스트를 입력하는 스트림을 작성합니다.

파라미터:
stream - 입력 스트림
digest - 이 스트림에 관련시키는 메세지 다이제스트
메소드의 상세

getMessageDigest

public MessageDigest  getMessageDigest()
이 스트림에 관련한 메세지 다이제스트를 돌려줍니다.

반환값:
이 스트림에 관련한 메세지 다이제스트
관련 항목:
setMessageDigest(java.security.MessageDigest)

setMessageDigest

public void setMessageDigest(MessageDigest  digest)
지정된 메세지 다이제스트를 이 스트림에 관련짓습니다.

파라미터:
digest - 이 스트림에 관련한 메세지 다이제스트
관련 항목:
getMessageDigest()

read

public int read()
         throws IOException 
1 바이트를 읽어들여, 메세지 다이제스트를 갱신합니다 (다이제스트 기능이 온인 경우). 즉, 이 메소드는 입력 스트림으로부터 1 바이트를 읽어들여, 실제로 그 바이트의 read가 종료할 때까지 다음의 데이터의 read를 정지합니다. 다이제스트 기능이 온 (on 를 참조)의 경우에는 이 메소드는 그 스트림에 관련한 메세지 다이제스트에 대해서 update 를 호출해, 읽힌 바이트를 건네줍니다.

오버라이드(override):
클래스 FilterInputStream 내의 read
반환값:
읽히는 바이트
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
MessageDigest.update(byte)

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException 
바이트 배열에 읽어들여, 메세지 다이제스트를 갱신합니다 (다이제스트 기능이 온인 경우). 즉, 이 메소드는 입력 스트림으로부터 배열 b 안에, 오프셋(offset) off 로부터 개시해 len 바이트까지 읽어들입니다. 이 메소드는 데이터가 실제로 읽힐 때까지 다음에 읽어들이는 것을 정지합니다. 다이제스트 기능이 온 (on 를 참조)의 경우에는 이 메소드는 그 스트림에 관련한 메세지 다이제스트에 대해서 update 를 호출해, 읽어들인 데이터를 건네줍니다.

오버라이드(override):
클래스 FilterInputStream 내의 read
파라미터:
b - 데이터를 안에 읽어들이는 배열
off - b 안에 데이터를 배치하는 배열의 개시 오프셋(offset)
len - 오프셋(offset) off 로부터 개시해, 입력 스트림으로부터 b 안에 읽어들이는 바이트의 최대수
반환값:
실제로 읽어들인 바이트수. len 바이트를 읽어들이기 전에 스트림의 마지막에 도달했을 경우에는 읽어들인 바이트수는 len 보다 작아진다. 이 호출을 행한 시점에서 벌써 스트림의 마지막에 도달하고 있기 (위해)때문에, 1 바이트도 읽히지 않았던 경우에는 -1 이 돌려주어진다
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
MessageDigest.update(byte[], int, int)

on

public void on(boolean on)
다이제스트 기능을 온 또는 오프로 합니다. 디폴트는 온입니다. 온의 경우,read 메소드의 1 개에 대한 호출은 메세지 다이제스트를 갱신합니다. 다만, 오프의 경우에는 메세지 다이제스트는 갱신되지 않습니다.

파라미터:
on - 다이제스트 기능을 온으로 하는 경우는 true, 오프로 하는 경우는 false

toString

public String  toString()
이 다이제스트 입력 스트림과 거기에 관련한 메세지 다이제스트 오브젝트의 캐릭터 라인 표현을 출력합니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 오브젝트의 캐릭터 라인 표현

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

버그의 보고와 기능의 리퀘스트
이외의 API 레퍼런스 및 개발자용 문서에 대해서는 Java 2 SDK SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.