国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

詳解PHP laravel中的加密與解密函數(shù)

瀏覽:271日期:2022-06-06 08:51:00
目錄
  • 一:簡介
  • 二:配置
  • 三:使用加密/解密
    • 1:加密
    • 2:不使用序列化進(jìn)行加密
    • 3:解密

Laravel為我們提供了完整的加密方法及加密模式。

我之前一般在加密的時候使用的是我自己寫的加密函數(shù),但是這個玩意,有的位置還是不太使用,當(dāng)然,破解的話,基本上也是不可能的。具體請移步《php加密函數(shù)與解密函數(shù)》

這里具體看下laravel為我們提供的加密及解密方法。

一:簡介

Laravel 的加密器使用 OpenSSL 來提供 AES-256 和 AES-128 加密。強(qiáng)烈建議使用 Laravel 自帶的加密設(shè)置,不要嘗試推出自己“土生土長”的加密算法。所有 Laravel 加密過的值都使用消息授權(quán)碼(MAC)進(jìn)行簽名以便底層值一經(jīng)加密就不能修改。

二:配置

在使用 Laravel 的加密器之前,必須在配置文件 config/app.php 中設(shè)置 key 選項為 32 位隨機(jī)字符串??梢允褂?nbsp;php artisan key:generate 命令來生成這個key,該 Artisan 命令會使用 PHP 的安全隨機(jī)字節(jié)生成器來構(gòu)建 key 的值。如果這個值沒有被設(shè)置,所有 Laravel 加密過的值都是不安全的。

三:使用加密/解密

1:加密

你可以使用輔助函數(shù) encrypt 對數(shù)據(jù)進(jìn)行加密,所有加密值都使用 OpenSSL 和 AES-256-CBC 密碼(cipher)進(jìn)行加密。此外,所有加密值都通過一個消息認(rèn)證碼(MAC)來進(jìn)行簽名以防止對加密字符串的任何修改。

<?php
 
namespace AppHttpControllers;
 
use AppUser;
use IlluminateHttpRequest;
use AppHttpControllersController;
 
class UserController extends Controller
{
    /**
     * 存儲用戶安全信息.
     *
     * @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();
    }
}

2:不使用序列化進(jìn)行加密

加密值在加密期間都會經(jīng)過序列化函數(shù) serialize 進(jìn)行處理,從而允許對對象和數(shù)組的加密。因此,非 PHP 客戶端接收的加密數(shù)據(jù)需要進(jìn)行 unserialize 反序列化。如果你想要在加密和解密數(shù)據(jù)時不進(jìn)行序列化操作,可以使用 Crypt 門面提供的 encryptString 和 decryptString 方法:

use IlluminateSupportFacadesCrypt;
 
$encrypted = Crypt::encryptString("Hello world.");
 
$decrypted = Crypt::decryptString($encrypted);

3:解密

你可以使用輔助函數(shù) decrypt 對加密數(shù)據(jù)進(jìn)行解密。如果該值不能被解密,例如 MAC 無效,將會拋出一個IlluminateContractsEncryptionDecryptException異常:

use IlluminateContractsEncryptionDecryptException;
 
try {
    $decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
    //
}

以上大概就是laravel為我們提供的加密/解密函數(shù)

到此這篇關(guān)于詳解PHP laravel中的加密與解密函數(shù)的文章就介紹到這了,更多相關(guān)PHP laravel加密 解密內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持

標(biāo)簽: PHP
主站蜘蛛池模板: 亚洲欧美中文日韩二区一区 | 欧美成人免费全部观看天天性色 | 国产欧美日韩视频在线观看一区二区 | 久久精品一区二区三区中文字幕 | a级免费 | 欧洲97色综合成人网 | 黄页网站18以下禁止观看 | 国产精品久久久久久久专区 | 成年网站免费 | 亚洲男人在线 | 亚洲欧美另类日本久久影院 | 精品成人 | 国产日韩欧美swag在线观看 | 国产精品久久精品 | 午夜三级理论在线观看视频 | 国产中文字幕在线观看 | 交videos人妖 | 国产伦精品一区二区三区四区 | 久久精品亚洲乱码伦伦中文 | 成年人性网站 | 夜色成人性y | 国产精品19禁在线观看2021 | 亲子乱子伦xxxxxinin | 日本成人免费在线视频 | 日本高清一本二本三本如色坊 | 日韩男人的天堂 | 国产激情一区二区三区成人91 | 久久99爱视频 | 美国免费毛片 | 美国毛片网 | 日韩字幕一中文在线综合 | 日韩成人在线播放 | 亚洲精品人成网在线播放影院 | 国产一区二区在线视频 | 亚洲国产品综合人成综合网站 | 国产亚洲综合成人91精品 | 中国a级淫片免费播放 | 日韩一级片在线观看 | 亚洲国产精品影院 | 国产成人一区免费观看 | 久久精品久久精品久久精品 |