The only supported ciphers are AES-128-CBC and AES-256-CBCエラーにハマった

概要

Laravelで開発したアプリケーションを閲覧した際に「The only supported ciphers are AES-128-CBC and AES-256-CBC」というエラーが表示され結構ハマってしまいました。本エラーの原因と解決方法をまとめます。

前提

  • Laravel 5.4

原因

  • このエラー文言は Encrypterクラスから例外で送出されます。supportedメソッドを見ると暗号化名と桁数が一致しないとfalseとなりこの問題が発生します。
  • つまり.envファイル内で指定したAPP_KEYconfig/app.phpcipherで指定した暗号と桁数が一致していないのが原因です。

解決方法

確認すべきは以下です。

  1.  .env内でAPP_KEYが指定されているか。指定されていなければ、php artisan key:generateを実行する
  2.  APP_KEYを復号化して桁数を調べる
  3.  もし16桁ならAES-128-CBCを、32桁ならAES-256-CBCを指定する

これで解決します。

参考

シェアする

  • このエントリーをはてなブックマークに追加

フォローする