這篇文章將為大家詳細講解有關(guān)yii怎么實現(xiàn)數(shù)據(jù)的加密與解密,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
公司主營業(yè)務:網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出富寧免費做網(wǎng)站回饋大家。
一、對密碼進行加密和驗證客戶端傳輸?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);
2、encryptByKey()和decryptByKey()
加密:
//$data:需要加密的信息,$secretKey:加密時使用的密鑰(key) $encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);
解密:
//$encryptedData:需要解密的信息,$secretKey:加密時使用的密鑰(key) $data = Yii::$app->getSecurity()->decryptByKey($encryptedData, $secretKey);
關(guān)于yii怎么實現(xiàn)數(shù)據(jù)的加密與解密就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。