yii对数据加密和解密的方法是什么?
Admin 2021-05-26 群英技术资讯 685 次浏览
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目录中的文件数方法和相关知识点,有需要的朋友们参考下。
workerman引入db类错误解决方法:在访问数据库的时候加上try catch捕获错误,捕获到错误是2006或者2013的时候表示连接失效,这时候重新连接数据库即可。
php-fpm解读-进程管理的三种模式—程序媛大丽标明转载以示尊重感谢原作者的分享。php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linux已不存
本篇文章给大家介绍一下解php7中curl文件上传出现错误的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
在本篇文章了小编给大家整理了一篇关于php redis的scan用法实例分析内容,有兴趣的朋友们可以跟着学习下。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008