新しくプロジェクトを作る時、envのAPP_KEYは変更しないといけないのは分かるけど、運用開始後に変更したらいけないのか?変更してしまったらどのような影響があるのかと疑問に思ったので調べてみた。
Crypt
$encrypted = Crypt::encryptString(暗号化したい文字列)
をAPP_KEYを変更後
$word = Crypt::decryptString($encrypted)
で復元しようとすると、暗号化時のキーと違いますよという以下のエラーが発生する。
The MAC is invalid.
Hash
$hashed = hash::make(暗号化したい文字列)
で暗号化して、APP_KEYを変更後
hash:check(プレーンテキスト, $hashed)
をしても一致する。
つまり、Cryptを使用するsessionやcookieやcsrf_token、または自身でCryptを使用している場合は、運用開始後に変更するのはよろしくない。
ログインまわりのパスワードは、Hashが使われるので変更しても問題ない。