微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我想在 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算法.

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

原文地址:https://www.jb51.cc/php/137003.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐