JavaTM Platform
Standard Ed. 6

java.security
클래스 DigestInputStream

java.lang.Object 
  상위를 확장 java.io.InputStream 
      상위를 확장 java.io.FilterInputStream 
          상위를 확장 java.security.DigestInputStream
모든 구현된 인터페이스:
Closeable


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 Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.