toc*_*ool 2 c# authentication passwords asp.net-core-mvc
我有这个类代表我的用户:
public class User
{
public int ID {get; set;}
public string UserName {get; set;}
[DataType(DataType.Password)]
public string Password {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我的寄存器方法的简单版本如下所示:
[HttpPost]
Register(User newUser)
{
...
_context.add(newUser);
await _context.SaveChangesAsync();
...
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:我应该在存储之前从常规字符串中更改密码类型吗?如果是这样,对于什么数据类型?
对对对
虽然这很大程度上是安全讨论而不是编程安排,但您应该只存储安全散列(PBKDF2,Argon和Bcrypt是当前标准)以及用于该散列的唯一salt.
按照您的要求存储它只是要求某人窃取您的数据库并获取所有用户密码而不需要比阅读Password
专栏(他们可能重复使用其他一百万个地方)更多的努力.
它仍然可以存储它string
好像.
这DataType.Password
只是您班级消费者阅读的注释.(按https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.datatype(v=vs.110).aspx).它并没有从存储/数据库的角度增强安全性.
归档时间: |
|
查看次数: |
1314 次 |
最近记录: |