最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel的加密解密與哈希實(shí)例講解

 更新時(shí)間:2021年03月19日 15:28:29   作者:raoxiaoya  
這篇文章主要介紹了Laravel的加密解密與哈希實(shí)例講解,加密解密的知識(shí),對(duì)于代碼安全還是比較重要的,有感興趣的同學(xué)可以學(xué)習(xí)下

一、加密解密

當(dāng)你的應(yīng)用程序中需要用到加密和解密的地方時(shí)可以使用Laravel自帶的加密解密工具。

Laravel 的加密機(jī)制使用的是 OpenSSL 所提供的 AES-256 和 AES-128 加密。強(qiáng)烈建議你使用 Laravel 內(nèi)建的加密工具,而不是用其它的加密算法。所有 Laravel 加密之后的結(jié)果都會(huì)使用消息認(rèn)證碼 (MAC) 簽名,使其底層值不能在加密后再次修改。

相應(yīng)的配置文件 config/app.php

首先生成 APP_KEY

php artisan key:generate

在.env文件里面

APP_KEY=base64:NHs1dJd5AkOZJvnPJEHMVmg89hi7Lr8Uc5zkOXEgMgk=

最終調(diào)用的地方在:

Illuminate\Encryption\Encrypter.php

public function decrypt($payload, $unserialize = true)
public function decrypt($payload, $unserialize = true)

可以看出,默認(rèn)是支持序列化和反序列化的,也就是說(shuō)支持對(duì)數(shù)組和對(duì)象進(jìn)行加密解密。

再來(lái)看我們可以調(diào)用的方法:
助手函數(shù):helpers.php

function encrypt($value, $serialize = true)
{
  return app('encrypter')->encrypt($value, $serialize);
}
function decrypt($value, $unserialize = true)
{
  return app('encrypter')->decrypt($value, $unserialize);
}

門面操作:Illuminate\Support\Facades\Crypt

public function encryptString($value)
{
  return $this->encrypt($value, false);
}
public function decryptString($payload)
{
  return $this->decrypt($payload, false);
}

可以看出門面是只能對(duì)字符串進(jìn)行加密解密的,而助手函數(shù)功能更強(qiáng)大一些。

示例:

$pass = "123456";
$this->info($pass);

$this->info("");

$enc = Crypt::encryptString($pass);
$this->info($enc);

$dec = Crypt::decryptString($enc);
$this->info($dec);

$this->info("");

$enc = encrypt($pass);
$this->info($enc);
$dec = decrypt($enc);
$this->info($dec);

二、哈希加密

哈希加密應(yīng)用在不需要解密的地方,比如存儲(chǔ)密碼,校驗(yàn)密碼。
Bcrypt 是哈希密碼的理想選擇,因?yàn)樗?「加密系數(shù)」 可以任意調(diào)整,這意味著生成哈希所需的時(shí)間可以隨著硬件功率的增加而增加。
配置:config/hashing.php
使用門面:Illuminate\Support\Facades\Hash
加密:

$pass = "123456";
$enc = Hash::make($pass);
// $2y$10$4A6vnjdJwIo.FjnvcPN4OepeFgiJ4K1VDCXRSGUbjue3k23AID3Pq
// $2y$10$JhFPyb7nEN6A9.P5ZHXYpea07E727LNbxhMj8UrsuoE0M1PKUYY9i

同一個(gè)字符串每次加密的結(jié)果不一樣?。?/p>

校驗(yàn):

if (Hash::check($pass, $enc)) {
  $this->info("ok");
}else{
  $this->info('err');
}

即使每次加密的結(jié)果不一樣,但是不影響校驗(yàn)。

到此這篇關(guān)于Laravel的加密解密與哈希實(shí)例講解的文章就介紹到這了,更多相關(guān)Laravel的加密解密與哈希內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹

    關(guān)于DISCUZ不用通行證登陸得內(nèi)容介紹

    DISCUZ是中國(guó)最常用的論壇,雖然他本身有通行證給大家連接,但實(shí)際上用戶的統(tǒng)一還是很不好,經(jīng)常要建立兩個(gè)用戶表,第一不利于注冊(cè)和管理,第二浪費(fèi)數(shù)據(jù)庫(kù)。
    2008-10-10
  • PHP生成word文檔的三種實(shí)現(xiàn)方式

    PHP生成word文檔的三種實(shí)現(xiàn)方式

    本篇文章主要介紹了PHP生成word的三種實(shí)現(xiàn)方式,利用php將內(nèi)容寫入Word中,有需要的可以了解一下。
    2016-11-11
  • PHP微信分享開(kāi)發(fā)詳解

    PHP微信分享開(kāi)發(fā)詳解

    這篇文章主要為大家詳細(xì)介紹了PHP微信分享開(kāi)發(fā),php微信端開(kāi)發(fā)經(jīng)驗(yàn)分享給大家,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 深入理解PHP內(nèi)核(一)

    深入理解PHP內(nèi)核(一)

    PHP作為一門簡(jiǎn)單而強(qiáng)大的語(yǔ)言,能夠提供很多Web適用的語(yǔ)言特性。從實(shí)踐出發(fā),繼弱類型變量原理探究后,本文帶領(lǐng)大家深入理解php內(nèi)核(一)
    2015-11-11
  • PHP將url生成二維碼并實(shí)現(xiàn)掃碼跳轉(zhuǎn)示例詳解

    PHP將url生成二維碼并實(shí)現(xiàn)掃碼跳轉(zhuǎn)示例詳解

    這篇文章主要為大家介紹了PHP將url生成二維碼并實(shí)現(xiàn)掃碼跳轉(zhuǎn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • typecho插件編寫教程(三):保存配置

    typecho插件編寫教程(三):保存配置

    這篇文章主要介紹了typecho插件編寫教程(三):保存配置,本文講解了完善方法、如何保存配置、使用需要注意的問(wèn)題等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • PHP獲取一個(gè)字符串中間一部分字符的方法

    PHP獲取一個(gè)字符串中間一部分字符的方法

    這篇文章主要介紹了PHP獲取一個(gè)字符串中間一部分字符的方法,即獲取字符串中兩個(gè)指定子字符串之間子字符串的方法,需要的朋友可以參考下
    2014-08-08
  • ThinkPHP上使用多說(shuō)評(píng)論插件的方法

    ThinkPHP上使用多說(shuō)評(píng)論插件的方法

    這篇文章主要介紹了ThinkPHP上使用多說(shuō)評(píng)論插件的方法,詳細(xì)的講述了在ThinkPHP上多說(shuō)評(píng)論插件的具體用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • PHP文件上傳之多文件上傳的實(shí)現(xiàn)思路

    PHP文件上傳之多文件上傳的實(shí)現(xiàn)思路

    這篇文章主要介紹了PHP文件上傳之多文件上傳的實(shí)現(xiàn)思路的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • php網(wǎng)站地圖生成類示例

    php網(wǎng)站地圖生成類示例

    網(wǎng)站地圖對(duì)于一個(gè)網(wǎng)站來(lái)說(shuō)至關(guān)重要,網(wǎng)站本身自己創(chuàng)建網(wǎng)站地圖并提交給搜索引擎,是更好的方法。這樣的話,你可以不受頁(yè)面數(shù)量的限制,并且可以完全控制網(wǎng)站地圖的結(jié)構(gòu)信息,這里介紹一個(gè)小類,可以很方便的生成網(wǎng)站地圖

    2014-01-01

最新評(píng)論

始兴县| 梁平县| 开化县| 博客| 嘉峪关市| 阳山县| 玉林市| 常宁市| 汶上县| 科尔| 贵溪市| 武宣县| 阿拉尔市| 灵川县| 赤峰市| 安平县| 中卫市| 辽阳市| 崇阳县| 高雄县| 阿拉善右旗| 沐川县| 长子县| 武鸣县| 青田县| 崇仁县| 大渡口区| 左云县| 鄂伦春自治旗| 磐安县| 昭通市| 上林县| 扎囊县| 临漳县| 陕西省| 都兰县| 攀枝花市| 泽库县| 南华县| 奇台县| 攀枝花市|