yii提供了方便的幫助函式來讓你用乙個安全秘鈅來加密解密資料。資料通過加密函式進行傳輸,這樣只有擁有安全秘鑰的人才能解密。比如,我們需要儲存一些資訊到我們的資料庫中,但是,我們需要保證只有擁有安全秘鑰的人才能看到它(即使應用的資料庫洩露)
$data 是你要加密的內容,
$secretkey 是你自己設定的密碼,
1
$encrypteddata
= yii::
->getsecurity()->encryptbypassword(
$data
,
$secretkey
);
隨後,當使用者需要讀取資料時:
$encrypteddata 是你要解密的內容
$secretkey 是你自己設定加密時的密碼
1
$data
= yii::
->getsecurity()->decryptbypassword(
$encrypteddata
,
$secretkey
);
但是對字串進行加密,加密後的字串是一串亂碼,(看起來確實像亂碼,具體是什麼有待考證),這不利於我們的下一步操作。
我們可以使用base64處理加密後的字串, 處理後的字串是由字母和數字組成
應用例項:
//邀請註冊
1
$id
= yii::
->user->getid();
//獲取登入使用者id
//加密(此處加密密碼設為空)
1
$uid
=
base64_encode
(yii::
->security->encryptbypassword(
$id
,
''
));
//解密
1
$iss
=yii::
->security->decryptbypassword(
base64_decode
(
$uid
),
''
);
Yii 2 0常用方法記錄
headers is an object of yii web headercollection returns the accept header value accept headers get accept if headers has user agent if session isacti...
Yii2 0 密碼加密及密碼校驗
1.yii2.0加密及校驗 password為輸入的密碼,它是沒有經過加密的字串 hash password為原先加密的密碼 一般用法 step1 將密碼 123456 加密為 hash password step2 將 hash password存入資料庫 step3 從資料庫中查詢出密碼,賦給變...
Yii2 0如何建立公共方法
yii2 advanced版本 common 目錄為公共資源目錄,我們可以把定義的方法放在這個目錄下,在此目錄下我們隨意建立乙個檔案比如 helps 目錄,因為考慮到公共方法可能會有功能上的劃分類,所以建立乙個統一目錄來進行管理。自定義全域性公共方法 class tools 直接在控制器中呼叫 pu...