Laravelでの暗号化と複合化、ハッシュ化【現役エンジニアが解説】

PROGRAM

今回は、Laravelでの暗号化と複合化、ハッシュ化について、簡単に解説していきます。

暗号化

Laravelの暗号化ではCryptファサードのencryptStringメソッドを使います。

.envの環境変数であるAPP_KEYに設定されている値をキーとして暗号化されます。

use Illuminate\Support\Facades\Crypt;
$encryptedValue = Crypt::encryptString('hoge');

上記の例のように、encryptStringメソッドの引数に値をセットするだけで暗号化された値を取得できます。

複合化

Laravelの複合化にはCryptファサードのdecryptStringメソッドを使用します。

ただし、同じAPP_KEYでかつencryptStringメソッドで暗号化された値が対象となります。

use Illuminate\Support\Facades\Crypt;
$decryptedValue = Crypt::decryptString($encryptedValue);

上記のコードのように、decryptStringメソッドの引数に暗号化された値をセットすることで複合化された値を取得可能です。

ハッシュ化

Laravelでハッシュ化するためには、Hashファサードのmakeメソッドを用います。

ハッシュ化は暗号化とは異なり、元に戻せない不可逆変換となる点に注意が必要です。

use Illuminate\Support\Facades\Hash;
$hashedValue = Hash::make('abc123');

上記のコードの例のように、makeメソッドの引数にパスワード等のハッシュ化対象の値をセットするとハッシュ化された値を取得することができます。