モジュール java.base
パッケージ java.security

クラスDigestInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.security.DigestInputStream
すべての実装されたインタフェース:
Closeable, AutoCloseable

public class DigestInputStream extends FilterInputStream
ストリームを通過するビットを使用して、関連したメッセージ・ダイジェストを更新する透明なストリームです。

メッセージ・ダイジェストの計算を完了するには、このダイジェスト入力ストリームのreadメソッドの1つを呼び出したあと、関連したメッセージ・ダイジェストに対してdigestメソッドの1つを呼び出します。

このストリームをオンまたはオフにすることができます(onを参照)。 オンの場合、readメソッドの1つに対する呼出しは、メッセージ・ダイジェストを更新します。 ただし、オフの場合にはメッセージ・ダイジェストは更新されません。 ストリームに対するデフォルトはオンです。

ダイジェスト・オブジェクトは1つのダイジェスト (MessageDigestを参照してください)しかコンピュートできないので、中間ダイジェストをコンピュートするために、呼び出し元はダイジェスト・オブジェクトにハンドルを保持し、コンピュートされるダイジェストごとにそれをクローンし、元のダイジェストはそのままにします。

実装上のノート:
この実装では、「オン」の場合に入力ストリームから実際に読み取られたデータのみでメッセージ・ダイジェストを更新します。 これには、様々なreadメソッドtransferToreadAllBytesおよびreadNBytesが含まれます。 skipメソッドでバイパスされたデータは無視されます。 一方、基礎となるストリームがmarkおよびresetメソッドをサポートし、同じデータがresetの後に再度読み取られると、メッセージ・ダイジェストが再度更新されます。
導入されたバージョン:
1.2
関連項目: