全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス 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 を参照してください)。on の場合、read の呼び出しはメッセージ ダイジェストの更新を引きおこします。ただし、off の場合には、メッセージダイジェストは更新されません。ストリームに対するデフォルトは on です。

ダイジェストオブジェクトは、ダイジェストを 1 つしか計算できないので (MessageDigest を参照)、中間的なダイジェストを計算するには、呼び出し側がそのダイジェストオブジェクトに対するハンドルを維持し、各計算対象のダイジェストに対してクローンを生成、元のダイジェストをそのままにしておく必要があることに注意してください。

参照:
MessageDigest, DigestOutputStream

Variable Index

 o digest
このストリームに関連するメッセージダイジェスト

Constructor Index

 o DigestInputStream(InputStream, MessageDigest)
指定された入力ストリームとメッセージダイジェストを使用して、ダイジェスト入力ストリームを作成します。

Method Index

 o getMessageDigest()
このストリームに関連するメッセージダイジェストを返す。
 o on(boolean)
ダイジェスト機能をオン、オフする。
 o read()
1 バイトを読み込み、メッセージダイジェストを更新する (ダイジェスト機能がオンである場合)。
 o read(byte[], int, int)
バイト配列に読み込み、メッセージダイジェストを更新する (ダイジェスト機能がオンである場合)。
 o setMessageDigest(MessageDigest)
指定されたメッセージダイジェストをこのストリームに関連させる。
 o toString()
このダイジェスト入力ストリームとその関連のメッセージダイジェストオブジェクトの文字列表現を印字する。

Variables

 o digest
  protected MessageDigest digest
このストリームに関連するメッセージダイジェストです。

Constructors

 o DigestInputStream
  public DigestInputStream(InputStream stream,
                           MessageDigest digest)
指定された入力ストリームとメッセージダイジェストを使用して、ダイジェスト入力ストリームを作成します。

パラメータ:
stream - 入力ストリーム
digest - このストリームに関連させるメッセージダイジェスト

Methods

 o getMessageDigest
  public MessageDigest getMessageDigest()
このストリームに関連するメッセージダイジェストを返します。

返り値:
このストリームに関連するメッセージダイジェスト
 o setMessageDigest
  public void setMessageDigest(MessageDigest digest)
指定されたメッセージダイジェストをこのストリームに関連させます。

パラメータ:
digest - このストリームに関連させるメッセージダイジェスト
 o read
  public int read() throws IOException
1 バイトを読み込み、メッセージダイジェストを更新します。 (ダイジェスト機能がオンである場合)。すなわち、このメソッドは入力ストリームから 1 バイトを読み込み、実際にそのバイトの読み込みが終了するまで次のデータの読み込みを止めます。ダイジェスト機能がオン (on を参照) の場合には、このメソッドは、そのストリームに関連するメッセージダイジェストに対して update を呼び出し、それによみこまれたバイトを渡します。

返り値:
読み込んだバイト
例外: IOException
I/O エラーが発生する場合
オーバーライド:
クラス readFilterInputStream
参照:
update
 o read
  public int read(byte b[],
                  int off,
                  int len) throws IOException
バイト配列に読み込み、メッセージダイジェストを更新します (ダイジェスト機能がオンである場合)。すなわち、このメソッドは、入力ストリームから配列 b の中に、オフセット off を起点として len バイトまで読み込みます。このメソッドは、データが実際に読み込まれるまで、次に読み込むのを止めます。ダイジェスト機能がオン (on を参照) の場合には、このメソッドは、そのストリームに関連するメッセージダイジェストに対して update を呼び出し、それによみこんだデータ渡します。

パラメータ:
b - データを中に読み込む配列
off - b の中にデータを配置する位置までの配列の起点からのオフセット
len - 入力ストリームからオフセット off を起点として b の中に読み込むバイトの最大数
返り値:
実際に読み込んだバイト数。len バイトを読み込む前にストリームの最後に到達した場合には、読み込んだバイト数は len より小さくなる。この呼び出しを行った時点ですでにストリームの最後に到達しているため、1 バイトも読み込まれなかった場合には、 -1 が返る。
例外: IOException
I/O エラーが発生する場合
オーバーライド:
クラス readFilterInputStream
参照:
update
 o on
  public void on(boolean on)
ダイジェスト機能をオン、オフにします。デフォルトはオンです。オンの場合、 read に対する呼び出しは、メッセージダイジェストを更新します。ただし、オフの場合にはメッセージダイジェストは更新されません。

パラメータ:
on - ダイジェスト機能をオンにするには true、オフにするには false とする。
 o toString
  public String toString()
このダイジェスト入力ストリームとその関連のメッセージダイジェストオブジェクトの文字列表現を印字します。

オーバーライド:
クラス ObjecttoString

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス