YII2.0 secruity

本文深入探讨了Yii框架中用于密码安全、数据保护和完整性校验的安全哈希与加密技术,包括使用bcrypt、crypt函数、生成安全随机数及数据加密解密方法。重点介绍了如何在用户注册和登录过程中实现密码安全存储,以及如何通过安全组件生成唯一且难以破解的随机数和执行加密操作。

保存密码不能用明文保存,用MD5或者sha1哈希化是安全,但是随着硬件的发展,可能会暴力破解,目前能够对抗暴力破解的哈希算法是 bcrypt,Yii提供了两个帮助函数使用crypt进行安全的哈希加密

1. generatePasswordHash($passowrd)

    第一个用户注册时候,输入密码,在保存的时候,将密码加密

    $hash = Yii::$app->getSecruity()->generatePasswordHash($password)

2. validatePasword($password,$hash)

    对用户输入的登录密码进行验证

 

3. 该组件还可以生成一个安全伪随机数,例如重置邮件密码,生成一个令牌,令牌的唯一性和难解性非常重要,可以使用该组件生成一个随机数,但是必须安装openssl

$key = Yii::$app->getSecurity()->generateRandomString();

4. 该组件还提供了加密解密函数, encrtyByPassword和 decryByPassowrd

5. 校验数据的完整性,将安全秘钥和数据生成的哈希前缀到数据上

    Yii::$app->getSecurity()->hashData($gendata,$secretKey);

    Yii::$app->getSecrity()->validateData($data,$secretyKey);

 

转载于:https://www.cnblogs.com/yangyuqiu/p/5084739.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值