Possible Duplicate:
Java authentication security
我有一个中央admin
应用程序实例,其中 judge
帐户已创建。为了使用这个法官帐户, judge
来自另一台计算机的应用程序实例需要通过中央 admin
进行身份验证。一个user
应用程序的实例将向 admin
发送一些内容,谁会将其推给一位评委。
评委需要能够登录管理员并进行身份验证。 主要问题是,由于每个人都在同一个网络上并且没有 SSL(我对此无法控制),有人可以嗅探法官发送给管理员的任何内容,然后自己发送该数据并成为已获得法官身份。
最佳答案
显然,使用 SSL 是正确的方法。
如果这不是一个选项,您可以自己加密请求的内容并确保它只能使用一次。
您需要:
- 生成包含用户名、密码和时间戳/随机值的加密 token 。 stackoverflow 上有一些关于加密/解密字符串操作的好示例。
- 您的服务器必须确保每个 token 只能使用一次(例如保留 map )
- token 会在有限的小间隔后过期......
这并非不可破解,但可以防止常规嗅探器重复使用凭据。
关于Java 验证密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334237/