【发布时间】:2016-02-27 22:25:37
【问题描述】:
我需要为我的 ASP.NET MVC 应用程序的单个页面创建一个基本登录名,我正在考虑是否应该花几个小时尝试了解身份库、SALTing 密码等,或者我是否可以这样做以下。
所以我使用Password Depot 来创建一个随机密码,例如
g5\oLH*aFZn=mL5GKS@5&P%*
它说的是什么
预计破解密码时间:7.37*10^30年。
然后我会将其存储在应用程序中以提供给客户。登录将很简单
[HttpPost]
public ActionResult TryLogin ( string pwsdAttempt )
{
if ( AdminController.CheckPassword(pwsdAttempt) )
{
Session["loggedIn"] = "true";
return Json(new { correct = true });
}
else
{
return Json( new { correct = false });
}
}
检查pswdAttempt 与g5\oLH*aFZn=mL5GKS@5&P%*(或随机生成的密码最终是什么),这将通过 SSL。
这有什么潜在的问题吗?如果是,是什么,为什么?
【问题讨论】:
-
如果密码是服务器端生成的,通过SSL传输到客户端,客户端没有保存在任何地方,那么是的,它是安全的。不要认为这意味着您的登录系统是安全的。只是密码。就我个人而言,我仍然会让用户自己制作密码,然后在服务器端对其进行哈希和加盐......
-
@MsYvette 虽然问题还不清楚,并且 David Brossard 根据他的回答对其进行了编辑,但我将其回滚,以避免错误的投票。我希望OP可以编辑他的问题以使其更清楚。但是现在,由于大卫的回答被接受,他的解释似乎是正确的。这就是为什么我不再回滚它的原因......我发现所有这些讨论都是不公平的,而不是求助于我。
标签: c# asp.net asp.net-mvc security authentication