Я пытаюсь зайти на сайт и зарегистрироваться.Я использовал хэш для шифрования пароля, но я не могу войти в систему. Код страницы входа ниже
Это то, что я использовал для шифрования пароля
public string ToSHA2569(string value)
{
SHA256 sha256 = SHA256.Create();
byte[] hashData = sha256.ComputeHash(Encoding.Default.GetBytes(value));
StringBuilder returnValue = new StringBuilder();
for (int i = 0; i < hashData.Length; i++)
{
returnValue.Append(hashData[i].ToString());
}
return returnValue.ToString();
}
Этомоя страница регистрации
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection sqlcon = new SqlConnection(connectionString))
{
sqlcon.Open();
SqlCommand cmd = new SqlCommand("UserRegister", sqlcon);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Name", txtName.Text.Trim());
cmd.Parameters.AddWithValue("@Email", txtEmail.Text.Trim());
cmd.Parameters.AddWithValue("@Password", ToSHA2569(txtPassword.Text.Trim()));
cmd.Parameters.AddWithValue("Created", DateTime.Now);
cmd.ExecuteNonQuery();
lblMessage.Text = "You have registered succussfully";
}
}
catch (Exception ex)
{
lblWrong.Text = "Something went wrong please try again later";
}
}
}
Это моя страница входа, я думаю, что здесь что-то не так.Легче ли использовать ключ шифрования вместо хеша?
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection sqlcon = new SqlConnection(connectionString))
{
sqlcon.Open();
string checkPasswordQuery = "select Password from [dbo.Register] where Username ='" + ToSHA2569(txtEmail.Text) + "'";
SqlCommand passcom = new SqlCommand(checkPasswordQuery, sqlcon);
if (txtPassword.Text == ToSHA2569(txtPassword.Text))
{
Response.Redirect("default.aspx");
}
else
{
Response.Write("Password is not correct");
}
}
}
catch
{
lblWrong.Text = "Something went wrong please try again later";
}
}