Asp.net mvc 4 加密密码不保存在数据库中,只保存salt密码
我使用了以下代码进行用户注册。调试代码时,密码是加密的,但它存储为纯文本。密码salt也存储在数据库中Asp.net mvc 4 加密密码不保存在数据库中,只保存salt密码,asp.net-mvc-4,Asp.net Mvc 4,我使用了以下代码进行用户注册。调试代码时,密码是加密的,但它存储为纯文本。密码salt也存储在数据库中 [HttpPost, RecaptchaControlMvc.CaptchaValidator] public ActionResult Register(Authentication reg, bool captchaValid, string captchaErrorMessage) { if (!captchaValid)
[HttpPost, RecaptchaControlMvc.CaptchaValidator]
public ActionResult Register(Authentication reg, bool captchaValid, string captchaErrorMessage)
{
if (!captchaValid)
ModelState.AddModelError("captcha", captchaErrorMessage);
if (ModelState.IsValid)
{
Registeration register = new Registeration();
var crypto = new SimpleCrypto.PBKDF2();
//string encrypPass = crypto.Compute(reg.Password);
//var length = encrypPass.Length;
register.FirstName = reg.FirstName;
register.LastName = reg.LastName;
register.Email = reg.Email;
register.Password = crypto.Compute(reg.Password);
reg.PasswordSalt = crypto.Salt;
db.Authentications.InsertOnSubmit(reg);
db.SubmitChanges();
}
return View();
}
任何帮助都将不胜感激。谢谢 您不是在数据库中存储register,而是在存储原始项(reg) easiset方式(更改最少)
这是一个很好的例子,有一些代码可以下载
在哪里将
注册
添加或保存到数据库?您似乎是为reg
执行此操作的。如何将注册表添加到数据库?如何将注册表存储到数据库?
public ActionResult Register(Authentication reg, bool captchaValid, string captchaErrorMessage)
{
if (!captchaValid)
ModelState.AddModelError("captcha", captchaErrorMessage);
if (ModelState.IsValid)
{
var crypto = new SimpleCrypto.PBKDF2();
reg.Password = crypto.Compute(reg.Password);
reg.PasswordSalt = crypto.Salt;
db.Authentications.InsertOnSubmit(reg);
db.SubmitChanges();
}
return View();
}