2016-03-21 47 views
-3

下面這行拋出NullRefrenceExceptionMD5.Create()拋出NullRefrence

[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)); 


    } 

我檢查和密碼不爲空,螺母莫名其妙MD5-ING返回

+2

'user == null'? –

+0

讓我把整個方法 –

+2

我認爲你可以通過調試很容易地找出哪一個是空的...... –

回答

3

這是因爲MD5.Create預期的參數是算法名稱。

修改並以此方式使用它。

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

這不是你如何使用MD5類。試試這個:

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