エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Laravel】Hasherの拡張と、info関数の実装【725日目】

Hasher

github.com

LaravelにはHasherという機能があります。ハッシュ化のクラスです。

バージョンアップ

5.6から、Hasherのインターフェースにinfo関数が追加されました。

クラスの拡張するなら、これも拡張したい。ってことでどう拡張するか。

元コードの他の拡張を読む

github.com

return password_get_info($hashedValue);

password_get_infoはなんぞや

password_get_info

https://www.php.net/manual/ja/function.password-get-info.php

algo には、そのハッシュの パスワードアルゴリズム定数 が含まれます。 algoName には、そのアルゴリズムの名前が含まれます。 options には、 password_hash() を呼んだときのオプションが含まれます。

ってことで、これに基づいたinfoを作ってみよう

拡張info関数

    /**
     * Get information about the given hashed value.
     *
     * @param  string  $hashedValue
     * @return array
     */
    public function info($hashedValue) {
        return [
            'algo' => '',
            'algoName' => 'OriginalHash',
            'options' => ''
        ];
    }

こんな感じ。

Laravelの機能の拡張は、こんなふうにもしていきますφ(・