JavaTM Platform
Standard Ed. 6

java.security
クラス MessageDigestSpi

java.lang.Object
  上位を拡張 java.security.MessageDigestSpi
直系の既知のサブクラス:
MessageDigest

public abstract class MessageDigestSpi
extends Object

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

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

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

関連項目:
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 を使用してダイジェストを更新します。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

MessageDigestSpi

public MessageDigestSpi()
メソッドの詳細

engineGetDigestLength

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

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

デフォルト動作は 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 - ダイジェストに充当される buf 内のバイト長。 このデフォルト実装と SUN プロバイダは、どちらも部分的なダイジェストを返さない。 このパラメータは、Java API における統一性を保つためにだけ存在する。このパラメータの値が実際のダイジェスト長より短い場合、メソッドは DigestException をスローする。このパラメータは、その値が実際のダイジェスト長より長いか、または等しい場合は無視される
戻り値:
出力バッファーに格納されるダイジェスト長
例外:
DigestException - エラーが発生した場合
導入されたバージョン:
1.2

engineReset

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


clone

public Object clone()
             throws CloneNotSupportedException
実装が複製可能な場合は複製を返します。

オーバーライド:
クラス Object 内の clone
戻り値:
実装が複製可能な場合は複製
例外:
CloneNotSupportedException - Cloneable をサポートしていない実装で呼び出された場合
関連項目:
Cloneable

JavaTM Platform
Standard Ed. 6

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

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