yii对数据加密和解密的方法是什么?
Admin 2021-05-26 群英技术资讯 1096 次浏览
Yii是最有效率的PHP框架之一,为帮助大家学习和理解yii框架,这篇文章主要给大家介绍yii框架中对数据加密和解密的操作,有这方面学习需要的朋友可以参考学习。
在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);
1:encryptByKey()和decryptByKey()
加密:
//$data:需要加密的信息,$secretKey:加密时使用的密钥(key) $encryptedData = Yii::$app->getSecurity()->encryptByKey($data, $secretKey);
解密:
//$encryptedData:需要解密的信息,$secretKey:加密时使用的密钥(key)
$data = Yii::$app->getSecurity()->decryptByKey($encryptedData, $secretKey);
以上就是关于yii框架实现数据加密解密的介绍,上述示例有一定的借鉴价值,有需要的朋友可以参考,希望对大家学习yii框架有帮助。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php变量的引用赋值使用:1、引用赋值,使用这种赋值方法意味着新的变量引用原始变量,改变一个会影响另一个。2、只有有名字的变量才能赋值,且unset()函数释放其中一个,不会影响另一方。
PHP在变量定义中不需要(或不支持)明确的类型定义;变量类型是根据使用该变量的上下文所决定的。也就是说,如果把一个字符串值赋给变量 $var,$var 就成了一个字符串。...
PHP echo的用法是什么,简单的应用是怎样的?下文的讲解详细,步骤过程清晰,对大家进一步学习和理解有一定的帮助。有这方面学习需要的朋友就继续往下看吧!
对于如下二维数组,要求对其进行去重: $arr=array('0'=>array('name'=>'james','age'=>30,),'1'=>array('name'=
PHP7栏目为大家总结了PHP升级7.2之后需要注意的事情,有需要的朋友可以看看,学习学习,有问题可以评论留言。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008