首頁 > php框架 > Laravel > 怎麼解決laravel報錯The MAC is invalid

怎麼解決laravel報錯The MAC is invalid

little bottle
發布: 2019-04-24 10:46:08
轉載
4121 人瀏覽過

本篇文章主要講述了laravel報錯The MAC is invalid的解決辦法,具有一定的參考價值,有興趣的朋友可以學習一下。

在使用laravel框架進行網站開發時,我們會使用laravel的Crypt類別對使用者的密碼進行加密來達到資訊加密的目的,Crypt類別會對資料加密時會依賴APP_KEY,所以當更換了APP_KEY時,再在登陸校驗時使用Crypt::decrypt()函式時,會回報The MAC is invalid.的錯誤。

所以解決的方法就是透過原來的APP_KEY解密取得到使用者最原始的數據,然後把使用者資料依照新的APP_KEY重新加密存入資料庫

手冊說明如下:
設定:
在使用Laravel 的加密功能前,你需要先為config/app.php設定檔中的APP_KEY參數設定一個值,這個值就是一個包含32 個隨機字元的字串。如果這個值沒有正確設置,所有 Laravel 加密的資料都是不安全的。
基本用法:
透過 Crypt facade 可以加密一段資料。所有加密採用的都是 OpenSSL 和 AES-256-CBC cipher。並且,所有加密過的資料都會被賦予一個「資訊驗證碼」(MAC),以防加密後所得到的字串被竄改。

由此說明encrypt產生的值和APP_KEY有關,並且加密資料後會賦予一個mac用在解密時的安全驗證,由於專案更換環境後需要重新產生APP_KEY,所以之前產生的資料在新的環境無法解密

以上報錯說MAC值無效並不是電腦mac位址,而是laravel的encrypt加密與其app_key有關,並且為每一個資料賦予了一個特殊的mac驗證碼

更換環境後需要先重新產生APP_KEY,然後資料庫中使用encrypt加密資料需要重新加密。

相關教學:PHP影片教學

#

以上是怎麼解決laravel報錯The MAC is invalid的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板