- 我想要一个安全的登录过程,其中登录数据被加密。
- 防止登录表单的重放攻击。
- 同时,我希望密码被加密,没有人可以解密它们。
1.我可以对表单数据进行MD5。
对于 2. 我可以生成一个随机数并将其与客户端密码一起散列。
对于 3. 我可以使用存储在 DB 中的 salt 并在 DB 中仅保存 MD5(password|salt)
现在问题来了,对于 1 和 2,我将发送 MD5(password|nonce) 到服务器,但我无法授权它,因为我没有用于检查的原始密码。
我可以同时归档 1,2,3 吗?