zNightLastTR adlı üyeden alıntı: mesajı görüntüle
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
}