質問: PHPを使っています。 PEARの認証で、SHA-256やSHA-512を試したことがある方はいませんか。 デフォルトのMD5は問題なく作動するのですが、cryptTypeをセットしたら何も起きませんでした。 ``` 'cryptType' => 'sha256' ``` ページは、ただリロードするだけでした。 **sha256やSHA-512を利用するにあたって特別な設定が必要なのでしょうか?** どなたか教えていただけないでしょうか。
回答: テーブルのパスワードのフィールドは、長さの制限があり、それがハッシュを切り落としています。 ``` echo $hash = hash('md5', 'これはテストです。'); //MD5は32文字です。 //出力;8e23d4b8f0b818b2891100d428209442 echo hash('sha1', 'これはテストです。'); //sha1は40文字です。 //出力:c3cdfde6c4febfa3685a2973266d90d6e535c25f echo hash('sha256', 'これはテストです。'); //sha256は64文字です。 //出力:f04f91575d7e471ccd872490acd5a87d83565a66286d574c6946d6a851a1aa44 echo hash('sha512', 'これはテストです。'); //そしてSHA512は128文字です。 //出力:e4b3c11978fcd525f6cd78a16ba5050b3b820d98e37fdbc4aa12ce52fde5f6edb0fe1f338589518d43f1a8e2c938f6fe06bbc50896391aed76e38fcbace7a0e8 ``` それか、cryptTypeでsha256やsha512は使えない可能性があります。その場合は自分でつくった方が早いと思いますよ。