在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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍java 实现DES 加密解密的示例,包括了java 实现DES 加密解密的示例的使用技巧和注意事项,需要的朋友参考一下 以上就是java 实现DES 加密解密的示例代码的详细内容,更多关于java des加密解密的资料请关注呐喊教程其它相关文章!
本文向大家介绍PHP实现的DES加密解密实例代码,包括了PHP实现的DES加密解密实例代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现的DES加密解密实例。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文
本文向大家介绍java 数据的加密与解密普遍实例代码,包括了java 数据的加密与解密普遍实例代码的使用技巧和注意事项,需要的朋友参考一下 这是一个关于密钥查询的jsp文件,接受上级文件的数据并加密处理,放入Map集合中,通过form表单提交到xdoc文件中;不过这种做法是为了满足公司的要求,用到了框架的内容不免显得繁琐;下篇文章会介绍一种简便的不需要搭建太多环境的普遍做法。 希望本篇文章实例
本文向大家介绍详解C#实现MD5加密的示例代码,包括了详解C#实现MD5加密的示例代码的使用技巧和注意事项,需要的朋友参考一下 C#实现MD5加密,具体如下: 方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security
本文向大家介绍C#实现数据包加密与解密实例详解,包括了C#实现数据包加密与解密实例详解的使用技巧和注意事项,需要的朋友参考一下 在很多项目中,为了安全安全考虑,需要对数据包进行加密处理,本文实例所述的即为C#加密代码,在应用开发中有很大的实用价值。说起数据包加密,其实对C#编程者来说,应该是一个基础的技巧,是进行C#程序设计人员必须要掌握的技能。 C#实现加密功能的核心代码如下: 本例备有详细的注
本文向大家介绍java使用RSA加密方式实现数据加密解密的代码,包括了java使用RSA加密方式实现数据加密解密的代码的使用技巧和注意事项,需要的朋友参考一下 RSA的应用 RSA是一种非对称加密算法。现在,很多登陆表单的密码的都采用RSA加密,例如京东中的登陆使用公钥对密码进行加密 java使用RSA加密方式实现数据加密解密,需要首先产生私钥和公钥 测试代码 RSA工具类的实现 总结 以上所述是