当我想建立一个登录系统时,我总是将给定密码的MD5与服务器端用户表中的值进行比较.
然而,我的一个朋友告诉我,一个"清晰"的密码可能会被网络软件嗅到.
所以我的问题是:在客户端散列密码是个好主意吗?它比在服务器端散列更好吗?
我注意到大多数站点通过HTTPS将密码作为纯文本发送到服务器.有没有什么优势,而不是我发送密码的哈希到服务器?会更安全吗?
我已经阅读了这两个主题,而且我似乎无法完全理解盐渍和无条件哈希之间的区别.
我有Spring安全自定义休息过滤器,使用以下逻辑验证客户端请求.
标题字段
身体
iOS客户端使用POST发出此请求,我在服务器中将过期时间设置为15秒.
现在的问题是,如果有人使用像Charles这样的调试工具,并且如果他碰巧将断点放在url中并在15秒内触发,则nonce将有效并且服务器第二次处理该请求.我怎样才能防止这种情况发生.在这种情况下,nonce不起作用.
无论采用何种方法,如果黑客获得即将被解雇的最终网址,他可能会在现有数据到期之前多次解雇......
我怎样才能防止这种情况发生?
有人能帮我找到最好的弹簧安全实现吗?
此外,HTTPS默认是否保护我们免受重播攻击?我们是否需要ssl客户端验证(在构建中具有der格式证书并使用服务器证书验证)以使用https进行重放攻击?或者默认情况下是否可以使用https?
换句话说,我正在使用AFNetworking,我们是否需要使用SSL Pinning来利用https重放攻击?或者没有ssl固定它会工作吗?
hash ×2
https ×2
security ×2
client-side ×1
cryptography ×1
login ×1
passwords ×1
rest ×1
url ×1