我试图在我的datacontracts中对我的datamembers密码进行哈希/盐析,但当我添加一个新的学生,然后获取该学生集合时,密码字段尚未进行哈希/盐析,它会返回我键入的内容?
public void AddStudent(Student student)
{
student.StudentID = (++eCount).ToString();
byte[] passwordHash = Hash(student.Password, GenerateSalt());
student.TimeAdded = DateTime.Now;
students.Add(student);
}
有人能帮我修一下吗?
您可以简单地将此添加到原始问题中,但这里还有一些代码:
[DataContract(Name="Student")]
public class Student
{
[DataMember(Name = "StudentID")]
public string StudentID { get; set; }
[DataMember(Name = "FirstName")]
public string FirstName { get; set; }
[DataMember(Name = "LastName")]
public string LastName { get; set; }
// local non public cache
private byte[] _password;
[DataMember(Name = "Password")]
public byte[] Password {
get { return _password; }
set {
this.Salt = GenerateSalt();
this._password = Hash(value, this.Salt);
}
};
[DataMember(Name = "Salt")]
public byte[] Salt;
// ...
您应该将哈希密码分配给学生密码,然后添加学生密码。
public void AddStudent(Student student)
{
student.StudentID = (++eCount).ToString();
byte[] passwordHash = Hash(student.Password, GenerateSalt());
StringBuilder stringBuilder = new StringBuilder();
foreach(byte b in passwordHash){
stringBuilder.AppendFormat("{0:X2}", b);
}
student.TimeAdded = DateTime.Now;
student.Password= stringBuilder.ToString();;
students.Add(student);
}
我试图修改代码以包含HASH_PASSWORD,但我不相信我做得对。
问题内容: 我正在尝试更改MySql根密码。 我所做的如下。 安装MySql-5.7.6〜.dmg(社区服务器)和工作台。 在OSX系统首选项上关闭服务器。 使用控制台访问MySql。该命令是 执行并得到一条错误消息-> 。 仅供参考,我做到了。所以我确实在用户表上选择了查询,发现密码列实际上不存在。 这很奇怪。原始用户表是否可能没有密码列? 如何更改不存在的密码? 谢谢你的回答:D 问题答案:
我正在尝试更改MySql根密码。 下面是我所做的。 安装mysql-5.7.6~.dmg(社区服务器)和工作台。 关闭OSX系统首选项上的服务器。 使用控制台访问MySql。命令为 执行并收到错误消息-->中的列“password”未知。 另外,我确实。所以我确实在用户表上选择了查询,发现密码列实际上并不存在。 这很奇怪。原始用户表是否没有密码列? 我如何更改密码,它不存在? 谢谢你的回答:D
Querying All Users # pwd_getpwall.py import pwd import operator # Load all of the user data, sorted by username all_user_data = pwd.getpwall() interesting_users = sorted( (u for u in all_user_dat
问题内容: 我正在使用Django REST Framework(DRF)创建一个可以注册新用户的终结点。但是,当我通过POST到达创建端点时,新用户将通过序列化器保存,但密码以明文形式保存在数据库中。我的序列化器的代码如下: 请注意,我使用的是Django auth包中的默认用户模型,并且对使用DRF来说是一个新手! 问题答案: 问题是DRF只需将字段值设置到模型上即可。因此,密码在“密码”字段
我一直在阅读OWASP10,我遇到了存储信息的最佳实践。咸杂碎。在这里,您为每个密码生成一个随机的salt,并对其进行梳理、散列和存储。我的疑问是,如果salt是随机生成的,当用户键入密码时,如何对密码进行身份验证?salt是否与用户名一起保存?如果是这样,这种做法仍然是脆弱的。或者他们是怎么做到的?