ホームページ  >  記事  >  PHPフレームワーク  >  laravelエラーの解決方法 MACが無効です

laravelエラーの解決方法 MACが無効です

little bottle
little bottle転載
2019-04-24 10:45:253864ブラウズ

この記事では主に、Laravel によって報告された「MAC が無効です」というエラーの解決方法について説明します。これには一定の参考値があり、興味のある友人はそれについて知ることができます。

Web サイト開発に laravel フレームワークを使用する場合、情報暗号化の目的を達成するために、laravel の Crypt クラスを使用してユーザーのパスワードを暗号化します。Crypt クラスはデータを暗号化するときに APP_KEY に依存するため、APP_KEY を置き換えるときは、ログイン検証中に Crypt::decrypt() 関数を使用すると、「MAC が無効です。」というエラーが報告されます。

したがって、解決策は、元の APP_KEY を復号してユーザーの元のデータを取得し、新しい APP_KEY に従ってユーザー データを再暗号化し、データベースに保存することです

手動手順は次のとおりです:
設定:
Laravel の暗号化機能を使用する前に、config/app.php 構成ファイルの APP_KEY パラメーターの値を設定する必要があります。 32 個のランダムな文字の文字列を含む値。この値が正しく設定されていない場合、Laravel によって暗号化されたすべてのデータは安全ではありません。
基本的な使用法:
データの一部は、Crypt ファサードを通じて暗号化できます。すべての暗号化には OpenSSL および AES-256-CBC 暗号が使用されます。さらに、暗号化された文字列の改ざんを防ぐために、すべての暗号化データには「メッセージ認証コード」(MAC)が割り当てられます。

これは、encrypt によって生成された値が APP_KEY に関連していることを示しており、データを暗号化した後、復号化する際のセキュリティ検証のために mac が与えられます。APP_KEY はプロジェクトの変更後に再生成する必要があるためです。環境、以前に生成されたデータ。新しい環境ではデータを復号化できません。

MAC値が無効であるという上記のエラーレポートはコンピュータのMACアドレスではありませんが、laravelの暗号化はそのapp_keyに関連しており、各データには特別なMac検証コードが与えられます

環境を変更した後は、まず APP_KEY を再生成し、次にデータベース内の encrypt を使用して暗号化されたデータを再暗号化する必要があります。

関連チュートリアル:

PHP ビデオ チュートリアル

以上がlaravelエラーの解決方法 MACが無効ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。