首頁 > php框架 > YII > 主體

yii如何實現資料的加密與解密

王林
發布: 2020-05-10 17:00:26
轉載
3017 人瀏覽過

yii如何實現資料的加密與解密

一、加密密碼、驗證客戶端傳輸的密碼是否正確

1、加密密碼

$hash = Yii::$app->getSecurity()->generatePasswordHash($password);
登入後複製

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

//$password:客户端传递的明文密码,$hash:对密码进行加密后的哈希值 
if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { 
  // 验证成功(密码正确) 
} else { 
  // 验证失败(密码错误) 
}
登入後複製

二、產生一個偽隨機資料

在我們進行密碼重設的時候,我們常常會傳送一份郵件到在使用者信箱中,給他一個重設的密碼,這時候我們就可以使用Yii的偽隨機資料方法給使用者產生一個偽隨機資料作為密碼

//默认生成32为随机字符,可以指定位数生成指定位数的伪随机数 
$key = Yii::$app->getSecurity()->generateRandomString();
登入後複製

三、Yii常見的資料加密和解密

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);
登入後複製

推薦教學:yii

以上是yii如何實現資料的加密與解密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jb51.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板