Mar
13

Asp.Net’ de değerleri md5 veya SHA1 ile şifrelemek, md5 vs SHA1

Asp.Net’ de pek kullanılmayan (En azından ben daha karşılaşmadım :)) 2 farklı şifreleme (crypto) yöntemi ile verilerinizi şifreleyebilirsiniz.

Herkesin aşinalığı daha fazla olduğu hemen hemen herkesce bilinen md5 şifreleme yöntemi phpde de mevcuttur. Günümüzde md5 ile şifrelemek pek anlamlı değildir nedenini sölemek gerekirse bu şifreleme yöntemi artık kırılması kolay hale gelmiştir. Öyleki bazı sitelerde md5 ini yazdığınız bir değerin ne olduğunu söylecek kadar meydanda olan bir durumdur 🙂

Onun yerine bence daha güvenli olan sha1 şifrelemesidir. Bunun sebebide gayet açıktır ;

  1. md5 128 bit ile şifrelerken, sha1 ise 160 bit ile şifreliyor.
  2. md5 in kırılma olasılığı sha1 e göre daha yüksektir. Yukarıda bahsettiğim üzere bazı sitelerde md5li bir değeri textboxa yazıyorsunuz, size md5 in karşılığını veriyor bu kadar basit 🙂

Kullanım şekillerini anlatmak istersek eğer;


string md5 = FormsAuthentication.HashPasswordForStoringInConfigFile("enespekkaya.com", "md5");

string sha1 = FormsAuthentication.HashPasswordForStoringInConfigFile("enespekkaya.com", "sha1");

Yukarıdaki kodlardan ilkinde md5 ikincisinde ise sha1 ile şifreleme yapmaktadır.

bu yazının ilgili örneğini indirmek için tıklayın.

6 yorum bulunmaktadır - “Asp.Net’ de değerleri md5 veya SHA1 ile şifrelemek, md5 vs SHA1”

  • Miraç Baran Satıç 06 Mart 2010, 17:34

    Affınıza sığınarak yazıdaki bir yanlışı düzeltmek istiyorum.MD5 şifreleme methodu kırıldı, çözülebiliyor diye bir şey yok.Md5 halen açık yollarla çözülemeyen bir yöntem.

    Bahsettiğiniz sitelerde text i md5’e çeviren fonksyionlar var yada bir md5=>text listesi. Bunlar yazıları md5 ledikten sonra karışlıklarını md5 haliyle beraber veritabanına kaydediyorlar.

    Biri Md5 çözdürmek istediğinde o md5 i alıyor ve veritabanında ona karşılık gelen bir text varsa onu gösteriyor.Olay bu kadar.Aynısı sha1 içinde geçerlidir.O yüzden her zaman bu şifreleme methodlarına ek olarak kend
    i methodlarınızıda eklemenizi/yazmanızı öneririm..

    Miraç Baran Satıç
    .Net Developer

  • Enes Pekkaya 06 Mart 2010, 23:28

    Kesinlikle doğru söylüyorsunuz 🙂 Aslında benim demek istediğimde sizin dediğiniz gibiydi ama yazıda biraz eksiklik olmuş 🙂

  • Sinan 14 Mart 2012, 02:50

    md5 kırılabiliyor 🙂 http://md5.rednoize.com/
    bizzat test ettim 🙂

  • Enes Pekkaya 14 Mart 2012, 09:08

    Aslında o kırılma değil sadece bütün md5leri veritabanında tutup size dönen değeri göstermekte. 🙂

  • Muhammet Çolak 05 Mart 2013, 13:28

    Ben birşey sormak istiyorum.Bir sayısı md5 olarak şifreleyip veri tabanına kaydedicem.Sonrada bu md5li sayısı tekrar aynı sayısa çevirip şifresi hala veritabanına eklemek istiyorum.Normal sayı haline nasıl çevirebilirim ?

    Yani md5li sayısı tabloaki kayıtla kontrol edicem sonra md5siz halini insert into diyerek başka bir tabloya sayı olarak giricem.Özeti bu 🙂

  • Enes Pekkaya 05 Mart 2013, 13:52

    Merhaba,

    md5 in malesef decrypt özelliği bulunmamakta. Yani şifrelediğinizi çözemezsiniz. crypt yada decrypt yapmak istiyorsanız, kendi kodunuzu yazmanız gerekmekte. Aşağıdaki linkten satın alabileceğiniz gibi isterseniz bedava kodda internet üzerinden bulabilirsiniz.

    http://codecanyon.net/item/data-security-class/88622

Yorum Yapın

 

Twitter'dan Takip Et! Twitter'dan Takip Et!

Etiketler

Son Yazılar

Son Yorumlar

Bağlantılar

Arşivler