php – 安全发送纯文本密码?

前端之家收集整理的这篇文章主要介绍了php – 安全发送纯文本密码?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用iOS的应用程序,让用户填写他们的密码.然后,密码将通过POST或GET发布到我网站上的 PHP页面. (它必须是明文,因为它在脚本中使用.)

除了HTTPS,有没有办法保护密码?在Obj-C中加密,然后用PHP解密?

注意:用户名不发送…只有密码发布到服务器.

编辑:
为了澄清,David Stratton是正确的…我正在设法防止在公共场所的恶意嗅探器只是读出明文密码,因为它们被发布到服务器.

挑战回应大纲

假设你有单向散列函数abc(实际上,使用md5或sha1加密的强哈希算法,参见:password_hash).

您存储在数据库中的密码是abc(密码盐)(分别存放盐)

服务器生成随机挑战挑战并将其发送给客户端(使用盐)并计算预期响应:abc(challenge abc(password salt))

然后,客户端计算:abc(user_password salt),并应用挑战获取abc(挑战abc(user_password salt)),发送到服务器,服务器可以轻松地验证有效性.

这是安全的,因为:

>密码永远不会以明文形式发送,或以明文形式存储
>发送的哈希值每次更改(减轻重放攻击)

有一些问题:

你怎么知道发送什么盐?那么,我从来没有真正找到一个解决方案,但是使用一个确定性的算法将用户名转换成盐解决了这个问题.如果算法不是确定性的,攻击者可能会找出哪个用户名存在,哪些不存在.这确实需要你有一个用户名.或者,您可以只有一个静态盐,但我不了解密码学来评估该实施的质量.

猜你在找的PHP相关文章