91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

laravel的加密方法有哪些

發布時間:2021-12-21 11:36:27 來源:億速云 閱讀:169 作者:小新 欄目:編程語言

這篇文章主要介紹laravel的加密方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

laravel的加密方法:1、利用Hash,語法“bcrypt('需要加密的文本')”或“Hash::make('需要加密的文本')”;2、使用Laravel的加密器,語法“encrypt('需要加密的文本')”。

本教程操作環境:windows7系統、Laravel6版,DELL G3電腦。

laravel兩種加密方式

哈希

Laravel 的 Hash 里面為存儲用戶密碼提供了安全的 Bcrypt 和 Argon2 哈希算法。

注:Bcrypt 是散列密碼的絕佳選擇,因為其「工作因子」是可調整的,這意味著隨著硬件功能的提升,生成哈希所花費的時間也會增加。

配置

應用默認的哈希驅動配置在配置文件 config/hashing.php 中,目前支持兩個驅動:Bcrypt 和 Argon2。

注:Argon2i 驅動要求 PHP 7.2.0 或更高版本,Argon2id 驅動要求 PHP 7.3.0 或更高版本。

第一種

bcrypt('admin888')

第二種

use Illuminate\Support\Facades\Hash;
$pwd = Hash::make('admin888');    //加密存儲

驗證方法

if (Hash::check('qwe123456', $pwd)) {
    // 密碼匹配...
}

public function login()
{
    $credentials = request(['email', 'password']);

    if (! $token = auth('api')->attempt($credentials)) {
        return response()->json(['error' => 'Unauthorized'], 401);
    }

    return $this->respondWithToken($token);
}

加密

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

配置

在使用 Laravel 的加密器之前,必須在配置文件 config/app.php 中設置 key 選項為 32 位隨機字符串。可以使用 php artisan key:generate 命令來生成這個key,該 Artisan 命令會使用 PHP 的安全隨機字節生成器來構建 key 的值。如果這個值沒有被設置,所有 Laravel 加密過的值都是不安全的。

加密

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

encrypt('密碼')

不進行序列化的加密

加密值在加密期間都會經過序列化函數 serialize 進行處理,從而允許對對象和數組的加密。因此,非 PHP 客戶端接收的加密數據需要進行 unserialize 反序列化。

如果你想要在加密和解密數據時不進行序列化操作,可以使用 Crypt 門面提供的 encryptString 和 decryptString 方法:

use Illuminate\Support\Facades\Crypt;

$encrypted = Crypt::encryptString('Hello world.');

$decrypted = Crypt::decryptString($encrypted);

解密

你可以使用輔助函數 decrypt 對加密數據進行解密。如果該值不能被解密,例如 MAC 無效,將會拋出一個Illuminate\Contracts\Encryption\DecryptException異常:

use Illuminate\Contracts\Encryption\DecryptException;

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

以上是“laravel的加密方法有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

精河县| 永德县| 陇西县| 抚顺县| 盘山县| 集安市| 哈尔滨市| 绥中县| 兴隆县| 云南省| 漳平市| 镇沅| 洪湖市| 凉城县| 樟树市| 东乌| 太谷县| 邵阳市| 丰都县| 安龙县| 临西县| 大同县| 东港市| 左权县| 镇安县| 凤翔县| 酒泉市| 轮台县| 渭南市| 秭归县| 偏关县| 临潭县| 上高县| 故城县| 上饶县| 扶余县| 根河市| 武冈市| 伊宁市| 图们市| 昭平县|