JavaのMessageDigestクラスのUpdateメソッドとDigestメソッドをPHPでどのように実装できるでしょうか
PHPのhash_init関数とhash_update関数は、JavaのMessageDigestクラスのdigestメソッドとupdateメソッドに相当します。
アップデートメソッドにより、指定したデータがメッセージダイジェストに追加されます。hash_update 関数を使用して実装できます。
$data = "example data";
$context = hash_init("sha256");
hash_update($context, $data);
メッセージダイジェストの生成はdigestメソッドから得られ、hash_finalを使用して実行されます。
$digest = hash_final($context);
echo $digest;
完全なサンプルコードは次のとおりです。
$data = "example data";
$context = hash_init("sha256");
hash_update($context, $data);
$digest = hash_final($context);
echo $digest;
指定したデータのSHA-256メッセージダイジェストを計算し、それを表示します。”md5″、”sha1″などの別のハッシュアルゴリズムを選択することもできます。
注意:PHPでは、hash_init関数とhash_update関数の順番を間違えないように、最初にhash_init関数でハッシュコンテキストオブジェクトを作成してから、hash_update関数でデータをハッシュコンテキストに追加する必要があります。最後にhash_final関数で最終的なメッセージダイジェストを取得します。