如何使用Asp.net从MySql数据库获取盐?

如何使用Asp.net从MySql数据库获取盐?

问题描述:

如何使用Asp.Net从MySql数据库检索盐?如何使用Asp.net从MySql数据库获取盐?

我想使用检索到的盐添加到用户输入的密码来生成SHA256哈希,然后验证用户。

这里就是我试图做的,以获取盐:

String userNameEntered = UserN_TextBox.Text; 
String passwordEntered = Password_TextBox.Text; 
String connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 
connection = new MySqlConnection(connectionString); 
connection.Open(); 
MessageBox.Show("Successfully connected to database"); 
String queryString = "select salt from xyz.abc_table where salt = @Salt"; 
command = new MySqlCommand(queryString, connection); 
command.Parameters.AddWithValue("@Salt", queryString); 
reader = command.ExecuteReader(); 
Response.Write("Salt retrived is" + reader); 
reader.Close(); 
connection.Close(); 

当我执行这段代码,它返回MySQL的数据读取器库,而不是在数据库中的盐....

在此先感谢... :)

+0

您能添加一个问题描述吗?你已经描述了你想要做什么,你已经展示了一些代码---但问题在哪里? – ventiseis

+0

我已经更新了这个问题。如果你知道任何事,请告诉我。谢谢...!!! – Deep

+0

[从sql reader c#获取值]的可能重复(http://stackoverflow.com/questions/27874566/getting-values-from-sql-reader-c-sharp) – ventiseis

在这里,我已经解决了我的问题。这是解决问题的办法。它可能会帮助某人:

try 
     { 

      String connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 
      connection = new MySqlConnection(connectionString); 
      connection.Open(); 
      MessageBox.Show("Successfully connected to database"); 
      String queryString = "select salt from xyz.abc_table where email_address = @E_Address"; 
      command = new MySqlCommand(queryString, connection); 
      command.Parameters.AddWithValue("@E_Address", UserN_TextBox.Text); 
      reader = command.ExecuteReader(); 
      if (reader.Read()) 
      { 
       Response.Write("Retrived Salt is " + reader["salt"]); 
       reader.Close(); 
       connection.Close(); 
      } 

     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Failed due to" +ex); 
     }