繁体   English   中英

使用JavaScript将密码随机盐化并从C#进行验证

[英]Hash password with random salt using JavaScript and validate from C#

我想使asp.net Web应用程序的密码维护过程更加强大。 请验证我的想法是否可行。 如果是,请提出示例代码或实施链接。 否则建议如何将密码从浏览器安全地发送到服务器并存储在哈希中。

注意:为了安全起见,我已经在使用TLS(SSL)。

脚步:

  1. 注册用户时,使用客户端浏览器中JavaScript的随机盐对用户密码进行哈希处理。
  2. 提交表格。
  3. 服务器端代码将哈希存储在数据库中。
  4. 当用户尝试登录时,使用客户端浏览器中的JavaScript从随机盐中散列用户密码。
  5. 提交表格。
  6. 使用登录密码哈希验证数据库存储的哈希。 (我认为由于随机加盐,两个哈希值会有所不同,但验证功能将能够对其进行比较)

这是不安全的。 哈希和加盐应该是服务器(而不是客户端)提供的隐藏的实现秘密。 由于客户端具有实现秘密,因此如果有人获得对您数据库的访问权限,则他们可以对安全模型进行反向工程。

HTTPS将保护传输中的密码。 由于有许多“陷阱”,我也避免使用自己的身份验证系统。 ASP.NET Framework和Core都提供了强大的身份验证模式和实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM