我有一個與我的winforms程序相關的數據庫。它存儲名稱,usertype,哈希和鹽。我排序了註冊和寫作細節,但我不知道如何將鹽(從數據庫讀取時)作爲變量保存。這裏是我的代碼:從數據庫檢索鹽
public string getSalt()
{
SqlConnection connection = new SqlConnection(@"server=.\SQLEXPRESS; database=loginsTest;Trusted_Connection=yes");
connection.Open();
string selection = "select DISTINCT Salt from Logins where Name = '"+userNameBox.Text+"'";
SqlCommand command = new SqlCommand(selection, connection);
if (command.ExecuteScalar() != null)
{
connection.Close();
return selection;
}
else
{
connection.Close();
return "Error";
}
}
正如你可以看到,它的返回選項,即「+ userNameBox.Text +‘‘’從哪裏登錄名= SELECT DISTINCT鹽’」。我如何將鹽保存爲要返回的變量?
這是容易受到SQL注入式攻擊。它實際上是乞求被黑客攻擊。 –
但即時使用鹽和哈希?那麼我如何返回鹽? –
安全問題並不是鹽/哈希值(儘管人們也經常犯這個錯誤)。這是您構建查詢的方式。 –