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

クラスMessageDigestSpi

  • 直系の既知のサブクラス:
    MessageDigest

    public abstract class MessageDigestSpi
    extends Object
    MessageDigestクラスのサービス・プロバイダ・インタフェース (SPI)を定義します。これは、MD5やSHAといったメッセージ・ダイジェスト・アルゴリズムの機能を提供します。 メッセージ・ダイジェストは、任意サイズのデータを取得して固定長のハッシュ値を出力する安全な一方向のハッシュ機能です。

    このクラスのすべての抽象メソッドは、特定のメッセージ・ダイジェスト・アルゴリズムの実装を供給しようとする暗号化サービス・プロバイダによって実装されなければいけません。

    Cloneableインタフェースは、自由に実装できます。

    導入されたバージョン:
    1.2
    関連項目:
    MessageDigest
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      MessageDigestSpi()  
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      Object clone()
      実装が複製可能な場合は複製を返します。
      protected abstract byte[] engineDigest()
      パディングなどの最終処理を行ってハッシュ計算を完了します。
      protected int engineDigest​(byte[] buf, int offset, int len)
      パディングなどの最終処理を行ってハッシュ計算を完了します。
      protected int engineGetDigestLength()
      バイト単位のダイジェスト長を返します。
      protected abstract void engineReset()
      再利用のためにダイジェストをリセットします。
      protected abstract void engineUpdate​(byte input)
      指定されたバイト・データを使ってダイジェストを更新します。
      protected abstract void engineUpdate​(byte[] input, int offset, int len)
      指定されたバイト・データの配列を使って、指定されたオフセットから開始してダイジェストを更新します。
      protected void engineUpdate​(ByteBuffer input)
      指定されたByteBufferを使用してダイジェストを更新します。
    • コンストラクタの詳細

      • MessageDigestSpi

        public MessageDigestSpi()
    • メソッドの詳細

      • engineGetDigestLength

        protected int engineGetDigestLength()
        バイト単位のダイジェスト長を返します。

        この具象メソッドは、事前に定義されたこの抽象クラスに追加されたものです。 下位互換性のために、抽象メソッドにはできません。

        デフォルト動作は0を返します。

        このメソッドはプロバイダによってオーバーライドされると、ダイジェスト長を返します。

        戻り値:
        バイト単位のダイジェスト長。
        導入されたバージョン:
        1.2
      • engineUpdate

        protected abstract void engineUpdate​(byte input)
        指定されたバイト・データを使ってダイジェストを更新します。
        パラメータ:
        input - 更新に使うバイト。
      • engineUpdate

        protected abstract void engineUpdate​(byte[] input,
                                             int offset,
                                             int len)
        指定されたバイト・データの配列を使って、指定されたオフセットから開始してダイジェストを更新します。
        パラメータ:
        input - 更新に使うバイト・データの配列。
        offset - バイトの配列での開始オフセット。
        len - 使用するバイト数(offsetから開始)。
      • engineUpdate

        protected void engineUpdate​(ByteBuffer input)
        指定されたByteBufferを使用してダイジェストを更新します。 ダイジェストの更新時には、input.position()位置から始まるinput.remaining()バイトが使用されます。 終了時に、バッファの位置はリミットに等しくなりますが、リミットは変更されません。
        パラメータ:
        input - ByteBuffer
        導入されたバージョン:
        1.5
      • engineDigest

        protected abstract byte[] engineDigest()
        パディングなどの最終処理を行ってハッシュ計算を完了します。 engineDigestの呼出しのあと、エンジンはリセットされます(engineResetを参照)。 リセット操作はエンジンの実装者が担当します。
        戻り値:
        結果として得られるハッシュ値に対するバイト・データの配列。
      • engineDigest

        protected int engineDigest​(byte[] buf,
                                   int offset,
                                   int len)
                            throws DigestException
        パディングなどの最終処理を行ってハッシュ計算を完了します。 engineDigestの呼出しのあと、エンジンはリセットされます(engineResetを参照)。 リセット操作はエンジンの実装者が担当します。 このメソッドは抽象メソッドでなければいけませんが、バイナリ互換を保つために具象メソッドのままにしておきます。 互換性を配慮するプロバイダは、このメソッドをオーバーライドしてください。
        パラメータ:
        buf - ダイジェストを格納する出力バッファ
        offset - 出力バッファの開始オフセット
        len - ダイジェストを割り当てるバッファのバイト数。 このデフォルト実装とSUNプロバイダは、どちらも部分的なダイジェストを返さない。 このパラメータは、APIにおける統一性を保つためにだけ存在する。 このパラメータの値が実際のダイジェスト長より短い場合、メソッドはDigestExceptionをスローする。 このパラメータは、その値が実際のダイジェスト長より長いか、または等しい場合は無視される。
        戻り値:
        出力バッファに格納されるダイジェスト長。
        例外:
        DigestException - エラーが発生した場合。
        導入されたバージョン:
        1.2
      • engineReset

        protected abstract void engineReset()
        再利用のためにダイジェストをリセットします。