【发布时间】:2017-09-20 08:44:26
【问题描述】:
如何使用 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 数据阅读器库而不是数据库中的盐......
提前谢谢... :)
【问题讨论】:
-
您可以添加对您的问题的描述吗?您已经描述了您想要做什么,您已经展示了一些代码 --- 但问题出在哪里?
-
我已经更新了这个问题。如果您知道任何事情,请告诉我。谢谢...!!!
-
不要只使用
reader,使用reader["salt"].ToString()。 -
请尝试使用调试器。我只能猜测,但你为什么将
@Salt参数设置为等于你的sql 查询?command.Parameters.AddWithValue("@Salt", queryString)- 可能没有盐值与您的 sql 查询匹配。
标签: mysql asp.net forms-authentication sha256 saltedhash