Php Şifreleme Metodları (Md5, Crypt, Sha1 ve crc32)
Php 30 Ekim 2009Bu dersimizde Php’nin güvenlik ile ilgili bölümlerinden olan Md5, Crypt, Sha1 ve crc32 metodlarını inceleyeceğiz.
Md5, Crypt, Sha1 ve crc32 metodları ne işe yarar?
Web uygulamalarında kullanıcıların parolalarını güvenle saklamak için kullanılan yöntemlerdir.
Kullanım şekli:
md5($sifrelenecek_deger);
Örnek:
<?php $parola=1234; $md5_parola = md5($parola); echo $md5_parola; ?>
Ekrandaki çıktı: 81dc9bdb52d04dc20036dbd8313ed055
Diyelimki üye kayıt işleminde md5 ile şifreleme kullanacaksınız. Üyeden alınan şifreyi md5($sifre); fonksiyonu ile şifreledikten sonra veritabanına kaydederiz. Üye Giriş sayfasında da gelen parola bilgisini aynı şekilde md5($gelen_sifre); fonksiyonu yardımıyla şifrelenmiş şekliyle veritabanından sorgulama yaptırırız.
Md5 şifreleme metodu ile şifrelenmiş bir parolanın kırılması mümkün değildir diyemeyiz. Nedeni ise, kullanıcıların şifrelerinin kısa olmasıdır. Yani ziyaretçi 1234 veya 6789 gibi bir şifre kullanıyorsa, bu şifrenin Md5′ini kırmak 1 dk bile sürmeyecektir. Ama parolasının içinde büyük-küçük harf, rakam ve özel karakter de bulunuyorsa kırılması neredeyse imkansızdır.
Güvenli parola örneği: cA1397%x**+_B
Kullanması pek pratik olmasa da güvenli olduğu kesin
Crypt, Sha1 ve crc32 metodları
Bu şifreleme metodlarını da aynı md5′de olduğu gibi kullanabiliriz.
Kullanım şekli:
crypt($1234);
Ekrandaki çıktı: $1$hJ..WK1.$WXgbWRRS2KrhzEfliDrAL0
sha1($1234);
Ekrandaki çıktı: 7110eda4d09e062aa5e4a390b0a572ac0d2c0220
crc32($1234);
Ekrandaki çıktı: -1679564637
Şifreleme metodları hakkında genel olarak bilgi sahibi olduk.
Sizlere tavsiyem, şifreleme işlemini güçlendirmek için md5 yada diğer yöntemler ile şifrelediğiniz veriyi, en az 3 defa daha şifrelemeniz. Böylece kırılması neredeyse imkansız olur.
Sonuçlarını daha iyi anlamanız için md5 ile 1,2 ve 3 defa şifrelenmiş verileri kırmaya çalıştığımızda aldığımız sonuçlara bakalım:
md5(); ile 1234′ün şifrelenmiş hali:
1 defa şifrelenen: 81dc9bdb52d04dc20036dbd8313ed055

2 defa şifrelenen: ec6a6536ca304edf844d1d248a4f08dc

3 defa şifrelenen: 2e99bf4e42962410038bc6fa4ce40d97

Gördüğünüz gibi 1234 rakamının 1 defa şifrelenmiş hali kırılabiliyor. Ancak, şifrelenmiş veriyi 2 ve 3 kez tekrar şifrelediğimizde resimde de görüldüğü gibi şifre kırılamadı. Yani kullanıcı şifresini 1234 gibi kırılabilir basit bir şifre dahi yapsa siz bunun güvenlik önlemini almış oluyorsunuz.
Etiketler: crc32, crypt, hash, md5, Php, sha1, şifreleme metodları, yöntemler
İlgili Makaleler
3.278 defa okundu
Yazdır
Bu yazıya yapılan yorumları dilerseniz, RSS 2.0 beslemesini kullanarak takip edebilirsiniz.













23 Eylül 2010 11:01
Merhaba,
Daha önce php ile yapılmış ve sanırım üyelerin şifreleri md5 yöntemi ile veritabanına saklanmış (32 karakterli) bir sitede bulununan üyeleri, yeni yaptığım joomla sitesine taşıyacağım. Üyelerin kodlarından hangi şifreleri kullandıklarını bulup, yeni siteye üyeleri aktarabilmem için bir program var mı? Yukarıda resimlerini gördüğümüz gibi bir program olursa işimi görür sanırım. Programın adını paylaşırsanız sevinirim. Kolay gelsin…
26 Eylül 2010 02:21
Merhaba,
Tüm şifreler için çeviri yapamayacağı kesin ama denemekte fayda var.
http://md5crack.com
20 Haziran 2011 14:46
Güzel bir makale olmuş fakat bence yetersiz sonuçta veritabanımıza giren kişi şifreyi illa geri çevirmek zorunda değil.Yeni bir üyelik açar ve şifresini “123456″ olarak belirler.Bu şekilde veritabanından 123456′nın çevirisini öğrenmiş olur ve aynı şekilde çevrilen tüm şifrelere 123456′dır diyebilir.Bunun yerine o anda üretilen rastgele bir kodu da dahil etmekte fayda vardır. mesela bir üyeninki “123456q51″ diğerininki “123456ulh” olur tabi bu kodu veritabanına kaydedip üye girişi yaparken eklemek zorundasınız.Bu şekilde tamamiyle güvenli şifreleriniz olur.
25 Haziran 2011 11:26
ücretsiz ioncube şifrelenmiş php dosyalarının şifreleri çözülür. bilgisayarchi@gmail.com adresimden ulaşabilirsiniz
20 Eylül 2011 12:59
ben sizden crypt hakkında bilgi almak istiyorum münkünsa çünkü bunu kullandıgımda sayfayı her yeniledigimde sonucun çıktının degiştigini görüyorum acaba bu normalmi kullandıgım yöntem aşagıdadır ve mutlaka bilgi istiyorum
15 Mart 2012 01:53
md5 ile yapılan şifrelemede çıkan bu sonucu 81dc9bdb52d04dc20036dbd8313ed055 ters işlem yaparak neye denk geldiğini bulabiliyormuyuz? Yani bir nevi sağlamasını yapabilirmiyiz?
17 Mart 2012 13:29
@Fikret md5 ile yapılan şifrelemenin geri dönüşü yok. md5 le oluşturduğu sonucu veritabanına kaydediyorsun. Kullanıcı giriş yaparken verdiği şifrenin md5 haliyle karşılaştırıp giriş yaptırıyorsun. Böylece veritabanına giren kişi şifrenin ne olduğunu çözemiyor.
29 Nisan 2012 23:48
Evet Hüseyin bey daha önce öyleydi sanırım. Ama artık MD5 in geri dönüşü var. MD5 ile şifrelenen karakterleri çeviren siteler ve fonksiyonlar var halihazırda. O yüzden MD5 e pek güvenmemenizi tavsiye ederim.
2 Mayıs 2012 19:00
Md5 geri dönüştürülemiyor dediğiniz gibi bazı geri dönüşüm yapan siteler var. Fakat aslında çeviri yapmıyorlar sık kullanılan şifrelerin çıktılarını kaydedip onlar arasında arıyorlar. Önceki yorumumdaki gibi bir şifreleme yapılırsa geri dönüşüm mümkün olmaz.