yii2.0 加密解密处理方法

黄舟
黄舟原创
2017-01-03 09:44:18975浏览

Yii提供了方便的帮助函数来让你用一个安全秘钥来加密解密数据。数据通过加密函数进行传输,这样只有拥有安全秘钥的人才能解密。比如,我们需要存储一些信息到我们的数据库中,但是,我们需要保证只有拥有安全秘钥的人才能看到它(即使应用的数据库泄露)

$data 是你要加密的内容,

$secretKey 是你自己设置的密码,

$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);

随后,当用户需要读取数据时:

$encryptedData 是你要解密的内容 
$secretKey 是你自己设置加密时的密码
$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);

但是对字符串进行加密,加密后的字符串是一串乱码,(看起来确实像乱码,具体是什么有待考证),这不利于我们的下一步操作。

我们可以使用base64处理加密后的字符串, 处理后的字符串是由字母和数字组成

应用实例:

//邀请注册

$id = Yii::$app->user->getId();//获取登录用户id
//加密(此处加密密码设为空)
$uid = base64_encode(yii::$app->security->encryptByPassword($id,''));
//解密
$iss=yii::$app->security->decryptByPassword(base64_decode($uid),'');

以上就是yii2.0 加密解密处理方法的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。