yii可逆加密解密
阿新 • • 發佈:2018-12-11
生成隨機數
- 方法:generateRandomString
- 用法:
$key = Yii::$app->security->generateRandomString();
加密
- 方法:encryptByPassword
- 用法:
$password_hash = Yii::$app->getSecurity()->encryptByPassword($password, $key)
引數說明:
引數 | 型別 | 備註 |
---|---|---|
$password | string | 要加密的密碼 |
$key | string | 自己設定的salt |
解密
- 方法:decryptByPassword
- 用法:
$data = Yii::$app->getSecurity()->decryptByPassword($password_hash, $key);
引數說明
引數 | 型別 | 備註 |
---|---|---|
$password_hash | string | 要解密的內容 |
$key | string | 自己設定的salt |
例項:
$password = '1234567'; $key = Yii::$app->security->generateRandomString(); //加密 $password_hash = base64_encode(Yii::$app->getSecurity()->encryptByPassword($password, $key));//加密入資料庫password_hash欄位內容 //解密 $data = Yii::$app->getSecurity()->decryptByPassword(base64_decode($password_hash), $key);//解密結果:1234567
但是對字串進行加密,加密後的字串是一串亂碼。
我們可以使用base64處理加密後的字串, 處理後的字串是由字母和數字組成。