Kullanıcı siteye kayıt olacak.
Sonra yaptığım programa girip kayıt olduğu bilgiler ile giriş yapacak.
Yani mysqlden verileri okuyup eşleyecek.
Fakat dediğim gibi sha olduğu için sıkıntı çıkarıyor.
he iyi o halde bende sha256 ları kırmaya çalışıyorsunuz sanıp şaşırmıştım mumkun değil cunku.
yapmanız gereken kullanıcının girdiği şifreyi sha256 hash e çevirip veri tabanındaki sha256 şifre satırıyla karşılaştırma yapmak. kullanıcının girdiğini alttaki fonksiyona gönderip hash i alın.
static string ComputeSha256Hash(string rawData)
{
// Create a SHA256
using (SHA256 sha256Hash = SHA256.Create())
{
// ComputeHash - returns byte array
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));
// Convert byte array to a string
StringBuilder builder = new StringBuilder();
for (int i = 0; i < bytes.Length; i++)
{
builder.Append(bytes[i].ToString("x2"));
}
return builder.ToString();
}
}sonra bunun gibi bir yapıyla sql cumlesini işleyip while ile basit bi denetim yapabilirsin.
try
{
using(SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=QABase;Integrated Security=True")
{
conn.open();
using(SqlCommand myCommand = new SqlCommand("select * from tablo where veritabanindakisha256= @kullanicidanalinansha256", conn))
{
myCommand.Parameters.AddWithValue("kullanicidanalinansha256",ComputeSha256Hash(kullanicininsifreyigirdigi_textbox));
using(myReader = myCommand.ExecuteReader())
{
while (myReader.Read())
{
bla bla bla
}
}
}
}
}
catch(Exception e)
{
System.Console.WriteLine(e.ToString());
throw; //Rethrow exception to let caller know that something went wrong
}