MD5.Create()抛出NullRefrence

时间:2016-03-21 06:46:35

标签: c# md5

以下行引发NullRefrenceException

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public void newUser(string name, string password,string email)
    {
        var db = new ORMDataContext();
        var user = new User();
        Console.Write(password);
        user.email = email;
        user.password = MD5.Create(password).ToString();
        user.username = name;
        db.Users.InsertOnSubmit(user);
        db.SubmitChanges();
        this.Context.Response.ContentType = "application/json; charset=utf-8";
        this.Context.Response.Write(JsonConvert.SerializeObject(user.Id));


    }

我检查过并且密码不是null,坚持某种方式md5-ing它返回 null

2 个答案:

答案 0 :(得分:3)

那是因为MD5.Create期望的论点是算法名称。

以这种方式修改和使用它。

using (MD5 md5 = MD5.Create())
{
    md5.ComputeHash(Encoding.UTF8.GetBytes(passowrd));// logic
}

答案 1 :(得分:2)

这不是你使用MD5课程的方式。试试这个:

using(MD5 md5Hash = MD5.Create())
{
  user.password = 
         Convert.ToBase64String(md5Hash.ComputeHash(Encoding.UTF8.GetBytes(password)));
}