我正在为一个客户开发一个Asp.NET网站,并且希望确保我使用安全的身份验证方案。安全用户身份验证 - 我是否正确地执行此操作?
在我的用户表中,我有一个验证哈希列,计算结果为sha1(salt + username + password)
。该网站正在通过HTTPS提供服务。要登录,用户通过HTTPS提交他们的名字和密码。 Web服务器计算散列值,并将其与数据库存储值进行比较以进行认证。
这听起来合理安全吗?我跑过这个计划,经过我的一个朋友,他说它很容易受到恶意的系统管理员的攻击。他说我应该做以下事情:
- 服务器在每次登录页面服务时指定一个独特的salt。
- 在提交之前,通过JavaScript在客户端上密码哈希密码。
- 发送此散列进行身份验证,但不是密码。
- 做一些奇怪的垃圾,我不明白认证哈希。
我该怎么办?
你的伴侣为什么说它很容易受到流氓系统管理员的攻击?通常这是非腌制或明文密码的问题。我想知道他的推理是什么...... – davewasthere 2009-08-10 16:35:55