欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Yii 實現(xiàn)數(shù)據(jù)加密和解密的示例代碼

 更新時間:2020年01月13日 15:38:11   作者:huaweichenai  
這篇文章主要介紹了Yii 實現(xiàn)數(shù)據(jù)加密和解密的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在Yii中又很多的數(shù)據(jù)我們不能夠以明文進行存儲和展示,例如密碼和一些比較重要的文件信息,這時候我們都需要我們對這些信息進行加密

一:對密碼進行加密和驗證客戶端傳輸?shù)拿艽a是否正確

1:對密碼進行加密

$hash = Yii::$app->getSecurity()->generatePasswordHash($password);

2:對客戶端傳遞的密碼進行驗證,判斷是否正確

//$password:客戶端傳遞的明文密碼,$hash:對密碼進行加密后的哈希值 
if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { 
  // 驗證成功(密碼正確) 
} else { 
  // 驗證失敗(密碼錯誤) 
}

二:生成一個偽隨機數(shù)據(jù)

在我們進行密碼重置的時候,我們經(jīng)常會發(fā)送一份郵件到用戶郵箱中,給他一個重置的密碼,這時候我們就可以使用Yii的偽隨機數(shù)據(jù)方法給用戶生成一個偽隨機數(shù)據(jù)作為密碼

//默認生成32為隨機字符,可以指定位數(shù)生成指定位數(shù)的偽隨機數(shù) 
$key = Yii::$app->getSecurity()->generateRandomString();

三:Yii常見的數(shù)據(jù)加密和解密

Yii常見的加密方法有:encryptByPassword()和encryptByKey()

Yii常見的解密方法有:decryptByPassword()和decryptByKey()

1:encryptByPassword()和decryptByPassword()

加密:

//$data:需要加密的信息,$secretKey:加密時使用的密鑰(key) 
$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey); 

解密:

//$encryptedData:需要解密的信息,$secretKey:加密時使用的密鑰(key) 
$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey); 

1:encryptByKey()和decryptByKey()

加密:

//$data:需要加密的信息,$secretKey:加密時使用的密鑰(key) 
$encryptedData = Yii::$app->getSecurity()->encryptByKey($data, $secretKey); 

解密:

//$encryptedData:需要解密的信息,$secretKey:加密時使用的密鑰(key) 
$data = Yii::$app->getSecurity()->decryptByKey($encryptedData, $secretKey);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • TP5(thinkPHP5框架)實現(xiàn)顯示錯誤信息及行號功能的方法

    TP5(thinkPHP5框架)實現(xiàn)顯示錯誤信息及行號功能的方法

    這篇文章主要介紹了TP5(thinkPHP5框架)實現(xiàn)顯示錯誤信息及行號功能的方法,結(jié)合實例形式分析了thinkPHP5顯示錯誤信息及行號的相關(guān)配置文件與設(shè)置修改方法,需要的朋友可以參考下
    2019-06-06
  • Laravel實現(xiàn)表單提交

    Laravel實現(xiàn)表單提交

    本文給大家分享的是在使用laravel過程中如何實現(xiàn)表單提交的一個簡單示例,非常簡單,這里推薦給學(xué)習(xí)laravel的小伙伴
    2017-05-05
  • php+jQuery.uploadify實現(xiàn)文件上傳教程

    php+jQuery.uploadify實現(xiàn)文件上傳教程

    這篇文章主要介紹了php+jQuery.uploadify實現(xiàn)文件上傳教程,需要的朋友可以參考下
    2014-12-12
  • php ajax數(shù)據(jù)傳輸和響應(yīng)方法

    php ajax數(shù)據(jù)傳輸和響應(yīng)方法

    今天小編就為大家分享一篇php ajax數(shù)據(jù)傳輸和響應(yīng)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 利用PHP如何寫APP接口詳解

    利用PHP如何寫APP接口詳解

    很多朋友在開發(fā)時遇到過這樣的問題:后臺什么時候提供接口?怎么才提供一個接口,其他接口什么時候給出來?沒有接口我們前端怎么能做得了?那學(xué)完本篇就可以自己搞個接口來返回固定的死數(shù)據(jù)來測試了!
    2016-08-08
  • PHP實例分享判斷客戶端是否使用代理服務(wù)器及其匿名級別

    PHP實例分享判斷客戶端是否使用代理服務(wù)器及其匿名級別

    最近做的一個項目,要用到判斷客戶端是否使用代理,以及其匿名級別,翻查了一些文件,下面記錄下來,分享給大家
    2014-06-06
  • 淺談PHPANALYSIS提取關(guān)鍵字

    淺談PHPANALYSIS提取關(guān)鍵字

    這篇文章主要介紹了PHPANALYSIS如何提取關(guān)鍵字,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • ThinkPHP3.2框架操作Redis的方法分析

    ThinkPHP3.2框架操作Redis的方法分析

    這篇文章主要介紹了ThinkPHP3.2框架操作Redis的方法,結(jié)合實例形式分析了thinkPHP3.2框架操作Redis數(shù)據(jù)庫的原理及實現(xiàn)方法,需要的朋友可以參考下
    2019-05-05
  • php實現(xiàn)微信模板消息推送

    php實現(xiàn)微信模板消息推送

    這篇文章主要為大家詳細介紹了php實現(xiàn)微信模板消息推送,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • PHP實現(xiàn)微信退款功能

    PHP實現(xiàn)微信退款功能

    這篇文章主要為大家詳細介紹了PHP實現(xiàn)微信退款功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10

最新評論