SHA(Secure Hash Algorithm)をPHPで使おうとすると、以前はMhashを使ったMhash 関数だったけれども、今時はPHP本体にある。
SHA-256を使ったHelloWorldはこんな感じ。
<?php $hash = hash('sha256', 'Hello World'); echo $hash;
hash関数の第一引数はハッシュアルゴリズムの名前で、一覧はhash_algos関数で取得できる。
@ITの記事やCNETの記事を参考にすると、SHA-1が既に攻撃方法が発見されているようだ(MD5やSHA-0も発見されている)。
よくあるユーザーのパスワードをハッシュ化してDBに保持する場合なども、今後はSHA-2を利用する方が賢明かもしれない。