密码的数据类型模型验证

Datatype Model validation for Password

模型中[DataType(DataType.Password)]的作用是什么? 当我在我的模型中应用它时,这不会将我的密码转换为哈希格式,并且所有密码都是可读的形式。

也许您可以在这里找到有关数据类型的信息EmailAddress or DataType.Email attribute

如果要将密码转换成哈希,可以使用SHA256。

此方法returns散列,需要传递密码作为参数:

public static string Sha256Hash(string value, string salt = default)
        {
            using var sha256Hash = SHA256.Create();
            {
                var hash = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(value + salt));

                var builder = new StringBuilder();
                
                for (var i = 0; i < hash.Length; i++)
                {
                    builder.Append(hash[i].ToString("x2"));
                }

                return builder.ToString();
            }
        }