加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP实现双向加密的最佳方法是什么?

发布时间:2020-12-13 13:20:14 所属栏目:PHP教程 来源:网络整理
导读:我想在 PHP中使用双向加密来加密我网站上的密码.我遇到过mcrypt库,但它看起来很麻烦.任何人都知道任何其他方法更容易,但又安全吗?我可以访问Zend Framework,因此使用它的解决方案也可以. 我实际上需要双向加密,因为我的客户端想要进入数据库并更改密码或检
我想在 PHP中使用双向加密来加密我网站上的密码.我遇到过mcrypt库,但它看起来很麻烦.任何人都知道任何其他方法更容易,但又安全吗?我可以访问Zend Framework,因此使用它的解决方案也可以.

我实际上需要双向加密,因为我的客户端想要进入数据库并更改密码或检索它.

您应该存储密码哈希(和 properly salted).

世界上没有任何借口足以打破这一规则.

目前,使用crypt,使用CRYPT_BLOWFISH是最佳做法.
PHP中的CRYPT_BLOWFISH是Bcrypt哈希的实现. Bcrypt基于Blowfish分组密码.

>如果您的客户端尝试登录,则对输入的密码进行哈希处理,并将其与存储在数据库中的哈希值进行比较.如果匹配,则授予访问权限.
>如果您的客户想要更改密码,他们需要通过一些小脚本来执行此操作,该脚本可以正确地散列新密码并将其存储到数据库中.
>如果您的客户想要恢复密码,则应生成新的随机密码并发送给您的客户.新密码的哈希值存储在DB中
>如果您的客户想要查找当前密码,那么他们就不走运了.这正是哈希密码的关键:系统不知道密码,因此它永远不会被“查找”/被盗.

Jeff博客:You’re Probably Storing Passwords Incorrectly

如果您想使用标准库,可以查看:Portable PHP password hashing framework并确保使用CRYPT_BLOWFISH算法.

(一般来说,直接搞乱数据库中的记录是一件麻烦事.许多人 – 包括非常有经验的数据库管理员 – 已经找到了困难的方法.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读