安全的用户身份验证 - 我做得对吗?

rec*_*ive 0 asp.net security authentication

我正在为客户开发一个Asp.NET站点,并希望确保我使用安全的身份验证方案.

在我的用户表中,我有一个计算为的身份验证哈希列sha1(salt + username + password).该网站通过HTTPS提供服务.要登录,用户通过HTTPS提交其名称和密码.Web服务器计算哈希值,并将其与数据库存储值进行比较以进行身份​​验证.

这听起来相当安全吗?我把这个计划运过我的一个朋友,他说它很容易受到邪恶的系统管理员的攻击.他说我应该做以下事情:

  • 每次提供登录页面时,服务器都会指定唯一的salt.
  • 在提交之前通过javascript将密码哈希在客户端上.
  • 发送此哈希值进行身份验证,但不是密码.
  • 做一些我不理解的奇怪的垃圾来验证哈希.

我该怎么办?

Mat*_*ser 7

不要重新发明轮子,只需使用.Net会员资格.