這篇文章將為大家詳細(xì)講解有關(guān)使用Yii怎么實現(xiàn)數(shù)據(jù)加密和解密,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),昭化企業(yè)網(wǎng)站建設(shè),昭化品牌網(wǎng)站建設(shè),網(wǎng)站定制,昭化網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,昭化網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。一:對密碼進(jìn)行加密和驗證客戶端傳輸?shù)拿艽a是否正確
1:對密碼進(jìn)行加密
$hash = Yii::$app->getSecurity()->generatePasswordHash($password);
2:對客戶端傳遞的密碼進(jìn)行驗證,判斷是否正確
//$password:客戶端傳遞的明文密碼,$hash:對密碼進(jìn)行加密后的哈希值 if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { // 驗證成功(密碼正確) } else { // 驗證失敗(密碼錯誤) }
二:生成一個偽隨機(jī)數(shù)據(jù)
在我們進(jìn)行密碼重置的時候,我們經(jīng)常會發(fā)送一份郵件到用戶郵箱中,給他一個重置的密碼,這時候我們就可以使用Yii的偽隨機(jī)數(shù)據(jù)方法給用戶生成一個偽隨機(jī)數(shù)據(jù)作為密碼
//默認(rèn)生成32為隨機(jī)字符,可以指定位數(shù)生成指定位數(shù)的偽隨機(jī)數(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);
關(guān)于使用Yii怎么實現(xiàn)數(shù)據(jù)加密和解密就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。