我有一个datacontract,在我的服务中,我正在尝试哈希/加密密码数据库:
public void AddStudent(Student student)
{
student.StudentID = (++eCount).ToString();
byte[] passwordHash = Hash(student.Password, _passwordSalt); //invalid expression? _passwordSalt?
student.TimeAdded = DateTime.Now;
students.Add(student);
}
有人可以帮忙吗?
答案 0 :(得分:1)
尝试从我的某个项目中使用此函数_passwordSalt
替换GenerateSalt()
:
protected RNGCryptoServiceProvider random = new RNGCryptoServiceProvider();
public byte[] GenerateSalt() {
byte[] salt = new byte[10];
random.GetNonZeroBytes(salt);
return salt;
}
顺便说一下,你必须保存这个生成的盐。每次都需要相同的盐来检查密码。