php – 安全发送纯文本密码?
我正在使用iOS的应用程序,让用户填写他们的密码.然后,密码将通过POST或GET发布到我网站上的
PHP页面. (它必须是明文,因为它在脚本中使用.)
除了HTTPS,有没有办法保护密码?在Obj-C中加密,然后用PHP解密? 注意:用户名不发送…只有密码发布到服务器. 编辑:
挑战回应大纲
假设你有单向散列函数abc(实际上,使用md5或sha1加密的强哈希算法,参见:password_hash). 您存储在数据库中的密码是abc(密码盐)(分别存放盐) 服务器生成随机挑战挑战并将其发送给客户端(使用盐)并计算预期响应:abc(challenge abc(password salt)) 然后,客户端计算:abc(user_password salt),并应用挑战获取abc(挑战abc(user_password salt)),发送到服务器,服务器可以轻松地验证有效性. 这是安全的,因为: >密码永远不会以明文形式发送,或以明文形式存储 有一些问题: 你怎么知道发送什么盐?那么,我从来没有真正找到一个解决方案,但是使用一个确定性的算法将用户名转换成盐解决了这个问题.如果算法不是确定性的,攻击者可能会找出哪个用户名存在,哪些不存在.这确实需要你有一个用户名.或者,您可以只有一个静态盐,但我不了解密码学来评估该实施的质量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |