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

クラスDigestInputStream

  • すべての実装されたインタフェース:
    Closeable, AutoCloseable

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

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

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

    ダイジェスト・オブジェクトはダイジェスト(MessageDigestを参照してください)を1つのみコンピュートできるので、中間ダイジェストをコンピュートするには、呼び出し元がダイジェスト・オブジェクトにハンドルを保持し、ダイジェストごとにクローンを作成して元のダイジェストをそのまま残しておく必要があります。

    導入されたバージョン:
    1.2
    関連項目:
    MessageDigest, DigestOutputStream
    • フィールドの詳細

      • 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を呼び出し、読み込まれたバイトを渡します。
        オーバーライド:
        read、クラス: FilterInputStream
        戻り値:
        読み込まれるバイト。
        例外:
        IOException - 入出力エラーが発生した場合。
        関連項目:
        MessageDigest.update(byte)
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        バイト配列に読み込み、メッセージ・ダイジェストを更新します(ダイジェスト機能がオンである場合)。 すなわち、このメソッドは、入力ストリームから配列bの中に、オフセットoffから開始してlenバイトまで読み込みます。 このメソッドは、データが実際に読み込まれるまで、次に読み込むのを停止します。 ダイジェスト機能がオン(onを参照)の場合には、このメソッドは、そのストリームに関連したメッセージ・ダイジェストに対してupdateを呼び出し、読み込んだデータを渡します。
        オーバーライド:
        read、クラス: FilterInputStream
        パラメータ:
        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()
        このダイジェスト入力ストリームとそれに関連したメッセージ・ダイジェスト・オブジェクトの文字列表現を出力します。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このオブジェクトの文字列表現