我知道这个问题问了这么多次,但我又回到了这里。我正在开发一个应用程序,我需要登录用户,但问题是,用纯文本发送用户凭据并不是一个好主意,因为它们可能被任何网络工具破解(不知道怎么做,如果您也能告诉这一点,那么它将非常有帮助)。有人能告诉我一个更好的主意吗。
我有一些解决方案,我目前正在生成客户端和服务器密钥,然后我连接客户端密钥+散列用户密码+服务器密钥和发布到服务器这三件事。
与服务器相同的进程,并比较这2个哈希。
够了吗?
我也看过jcryption了。
有人建议我有什么好主意吗?
谢谢..。
发布于 2014-09-19 08:13:15
对于您建议的系统,任何拦截登录事务的人都可以存储密码哈希的副本,并使用它代替密码来模拟用户。
如果您真的不能使用SSL来保护通信,请查看基于挑战的身份验证系统,在这种系统中,密码从未通过网络传输,而是证明密码是已知的,这是在一种防止重放攻击的方法中完成的。
https://security.stackexchange.com/questions/67708
复制相似问题