Merhaba bir veri tabanından kullanıcı adı ve şifre çekiyorum buraya kadar her şey normal.
Fakat sitede şifreleme sha256 olarak şifreliyor
Ben programda bu şifreyi nasıl okutacağım?
C# MySQL SHA256
3
●77
- 05-07-2021, 02:33:48
- 05-07-2021, 02:43:16Kullanıcı siteye kayıt olacak.ssyazilim adlı üyeden alıntı: mesajı görüntüle
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. - 05-07-2021, 02:54:12he iyi o halde bende sha256 ları kırmaya çalışıyorsunuz sanıp şaşırmıştım mumkun değil cunku.zNightLastTR adlı üyeden alıntı: mesajı görüntüle
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 }