CodeIgniter3.xでパスワードをハッシュ化するのに、EncryptionクラスとSecurity helperで見解が違ってた
結論として、password_hash()を使うべきと主張している、Encryption
クラスの注意書きの方が正しい気がする。
version 4ではSecurity helperのdo_hash()メソッドは廃止されているが、
version 3にはあって、パスワードをSHA1(default)やMD5等、PHPの
hash_algos()に定義されているハッシュアルゴリズムの一覧にある
ものが使えるとあるのだが、そこにはパスワードのハッシュ化に
使われる代表的なアルゴリズムが1つもないんだけどなー(Φω|
そもそも、「ハッシュ化」と言っても、ファイルの同一性を確認する
のか?パスワード保存のために使うのか?暗号通貨の取引データの保存
に使うのかでアルゴリズムは異なると思っているんだが。
しかも、do_hash()は4では廃止されるので、今後はhash()を使うように
って注意書きがあるの謎すぎる。どういうこと?って思う。
(ex)CodeIgniter3 Security helperのdo_helper()の注意書き
↑ パスワード保存のためのハッシュアルゴリズムがない時点で、安全って
言い切れんのかよ?って思う。
(ex)CodeIgniter3 Encryptionクラスの注意書き
(ex)CodeIgniter4 Encryption Serviceの注意書き
[参考サイト]