JavaTM 2 Platform
Standard Ed. 5.0

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 バイトを読み込み、実際にそのバイトの読み込みが終了するまで次のデータの読み込みを停止します。ダイジェスト機能がオン (on を参照) の場合には、このメソッドは、そのストリームに関連したメッセージダイジェストに対して update を呼び出し、読み込まれたバイトを渡します。

オーバーライド:
クラス FilterInputStream 内の read
戻り値:
読み込まれるバイト
例外:
IOException - 入出力エラーが発生した場合
関連項目:
MessageDigest.update(byte)

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
バイト配列に読み込み、メッセージダイジェストを更新します (ダイジェスト機能がオンである場合)。すなわち、このメソッドは、入力ストリームから配列 b の中に、オフセット off から開始して len バイトまで読み込みます。このメソッドは、データが実際に読み込まれるまで、次に読み込むのを停止します。ダイジェスト機能がオン (on を参照) の場合には、このメソッドは、そのストリームに関連したメッセージダイジェストに対して update を呼び出し、読み込んだデータを渡します。

オーバーライド:
クラス FilterInputStream 内の read
パラメータ:
b - データを中に読み込む配列
off - b の中にデータを配置する、配列の開始オフセット
len - オフセット 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()
このダイジェスト入力ストリームとそれに関連したメッセージダイジェストオブジェクトの文字列表現を出力します。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。