首頁  >  文章  >  php框架  >  Laravel - 加密

Laravel - 加密

PHPz
PHPz原創
2024-08-27 10:51:13832瀏覽

加密是使用某些演算法將純文字轉換為訊息的過程,使得任何第三方用戶都無法讀取該資訊。這對於傳輸敏感資訊很有幫助,因為入侵者瞄準傳輸的資訊的機會較小。

使用稱為密碼學的過程進行加密。待加密的文字稱為明文,加密後獲得的文字或訊息稱為密文。將密文轉換為純文字的過程稱為解密

Laravel 使用AES-256AES-128 加密器,它使用 Open SSL 進行加密。 Laravel 中包含的所有值都使用協定訊息驗證碼進行簽名,因此底層值一旦加密就無法被竄改。

設定

用於在Laravel 中產生key的命令如下所示-

php artisan key:generate

請注意,此命令使用PHP 安全隨機位元組產生器,您可以看到如下螢幕截圖所示的輸出-

Artisan Key

上面給出的命令有助於產生密鑰可以在網路應用程式中使用。觀察下面顯示的螢幕截圖 -

注意

加密值在config/app.php檔案中正確對齊,其中包括兩個加密參數,即keycipher。如果使用此金鑰的值未正確對齊,則 Laravel 中加密的所有值都將不安全。

加密過程

可以透過在 Laravel 類別的控制器中使用加密助理來完成值的加密。這些值使用 OpenSSL 和 AES-256 密碼進行加密。所有加密值均使用訊息驗證碼 (MAC) 進行簽名,以檢查加密字串是否有任何修改。

Laravel - 加密

下面顯示的程式碼在控制器中提到,用於儲存秘密或敏感訊息。

填入([
         '機密' => 加密($request->機密)
      ])->保存();
   }
}

解密過程

值的解密是使用解密助手完成的。觀察以下程式碼行 -

use IlluminateContractsEncryptionDecryptException;

// 在外觀中拋出解密異常
嘗試 {
   $decrypted=decrypt($encryptedValue);
} catch(DecryptException $e){
   //
}

請注意,如果由於使用無效的 MAC 導致解密過程不成功,則會拋出適當的異常。

以上是Laravel - 加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn