加密&解密 相关方法
数据加密和解密
encryptByPassword & decryptByPassword
通过key 对原数据进行加密,每次加密后的生成的数据是不一样的,但是都可以通过它来解密出原来的数据
通过上面加密的数据和key获得原数据
注意,encryptByPassword进行加密后的数据不是ASCII,也就是在显示的时候会乱码,可以通过base64_encode和base64_decode在外层包装下
实例:
encryptByKey & decryptByKey
这一对和上面的 encryptByPassword & decryptByPassword
基本一样,只是添加了一个参数对其进行了扩展,这样就可以通过一个常量和一个变量组成一个加密的key
注意,encryptByPassword进行加密后的数据不是ASCII,也就是在显示的时候会乱码,可以通过base64_encode和base64_decode在外层包装下
实例:
将用户id组合key
token 的生成和验证
maskToken & unmaskToken
根据提供的字符串token,生成加密的token
对加密的token进行解密,获取原token,就可以判断token时候正确
实例:
csrf 实例
Yii csrf
获取csrftoken
验证csrftoken
密码的加密和验证
generatePasswordHash & validatePassword
为了数据安全,存储的用户密码肯定是要加密的,而且是难以破解的,即使数据库被盗,对方依旧很难通过存储的加密信息破解出密码
根据原密码生成密码对应的加密数据
验证密码是否匹配原密码生成的hash
实例:
数据的防篡改(也算加解密)
hashData & validateData
就是我给你看,但是你不能改
对原始数据进行加密,然后拼接原始数据
验证 hashData 后的数据,并返回数据
实例:
|
|
cookie 加解密
Yii写读cookie的时候使用
生成随机字符
generateRandomKey & generateRandomString
两个都是随机一串字符,但是 generateRandomKey
生成的不是Ascii码,所以在显示的时候有可能乱码,而 generateRandomString
是对 generateRandomKey
的封装,加了 base64_encode
使其不会乱码
生成指定长度随机字符,可能不是 ASCII字符,显示的时候会出现乱码
生成指定长度随机字符