【发布时间】:2015-09-17 01:50:32
【问题描述】:
目前我有这个代码
// POST: users/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "id,naam,wachtwoord,email,isadmin")] user user)
{
user.wachtwoord = Crypto.HashPassword(user.wachtwoord);
if (ModelState.IsValid)
{
db.users.Add(user);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(user);
}
现在如果我使用 user.wachtwoord=crypto.hashpassword 就会中断
现在我的问题是,在这种情况下,通过 httppost 方法保存用户密码的正确方法是什么,以及我以后如何在登录控制器上取消密码?
问候
【问题讨论】:
-
您想自己做这件事,还是如果您使用 ASP.NET Identity Framework 会更好吗?另外,错误信息是什么?
-
加密是没有意义的,除非通信方法也被加密。在 HTTP 中加密通信的唯一方法是 HTTPS。所以你应该使用 SSL。
-
您是在询问如何对密码进行哈希处理以存储在数据库中或如何将密码从客户端浏览器传输到 Create Action 方法?
-
euhm 我试图散列他们在创建操作中发送的明文,因此它的明文 > 散列 > MS SQL DB,然后在登录功能上,它应该检查散列是否等于数据库中的散列跨度>
标签: c# asp.net sql-server asp.net-mvc