成免费的crm,久久国产精品新农夫导航新妓网,恋夜秀场全部视频安卓手机,女校花强奷在线播放A级

Laravel 加密

加密是一個使用一些算法將純文本轉換為消息的過程,以便任何第三個用戶無法讀取信息。這對傳輸敏感信息很有幫助,因為入侵者以傳輸信息為目標的可能性較小。

加密是使用稱為 密碼學 的過程執行的。要被加密的被稱為文本 純文本 和文本或加密之后獲得的消息被稱為 密文 。將密文轉換為純文本的過程稱為 解密 。

laravel使用 aes-256 和 aes-128 加密器,它使用open ssl進行加密。包含在laravel中的所有值都使用協議 消息認證代碼 進行簽名,以便在加密后,底層值不會被篡改。

 

組態

下面顯示了用于在laravel中生成 密鑰 的命令-

php artisan key:generate

請注意,該命令使用php安全隨機字節的生成器,您可以看到如下面屏幕截圖所示的輸出 -

上面給出的命令有助于生成可用于web應用程序的密鑰。觀察下面顯示的屏幕截圖 -

注意

加密值在 config / app.php 文件中正確對齊,其中包括兩個加密參數,即 密鑰 和 密碼 。如果使用此鍵的值未正確對齊,則laravel中加密的所有值都將不安全。

 

加密過程

可以通過在laravel類的控制器中使用 加密助手 來完成值的 加密 。這些值使用openssl和aes-256密碼進行加密。所有加密值都使用消息認證碼(mac)進行簽名,以檢查加密字符串的任何修改。

下面顯示的代碼在控制器中提及,用于存儲秘密或敏感消息。

 namespace app\http\controllers;

use illuminate\http\request;
use app\http\controllers\controller;

class democontroller extends controller{
   **
      * store a secret message for the user.
      *
      * @param request $request
      * @param int $id
      * @return response
   */

   public function storesecret(request $request, $id){
      $user = user::findorfail($id);
      $user--->fill([
         'secret' => encrypt($request->secret)
      ])->save();
   }
}

 

解密過程

值的 解密 是用 解密助手 完成的。遵守以下幾行代碼 -

use illuminate\contracts\encryption\decryptexception;

// exception for decryption thrown in facade
try {
   $decrypted = decrypt($encryptedvalue);
} catch (decryptexception $e) {
   //
}

請注意,如果由于使用無效的mac而導致解密過程不成功,則會引發適當的異常。

相關文章