使用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算法.

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...