Md5 ne anlama geliyor?
simple PHP login system için bu öğretici okuyordum.
Sonunda 26* *gerekmektedir.
Bu bir yeni başlayanlar olduğunu biliyorum' öğretici, ve bu giriş sistemi arkasında banka hesap açamazsın, bu şifreleme hakkında çok düşündüm. ama
Devam ettim ve gittim (bu site yeni başlayanlar için en yararlı sorulardan biri): What should a developer know before building a public web site?
Oraya baksan daha iyi olur diyor (güvenlik):
Şifrelemek Karma ve tuz şifreler yerine daha düz metin bunları saklamak.
Bu konuda çok daha fazlası, isim yazmıyor.
Ben de gidip kendim denedim:
$pass = "Trufa";
$enc = md5($pass);
echo $enc; #will echo 06cb51ce0a9893ec1d2dce07ba5ba710
Olmayabilir şifrelemek için güçlü bir şekilde ve bu, md5 biliyorum ancak bu beni düşündürdü nedir (), her zaman aynı sonucu veren bir şey ters mühendislik olabilir.
Md5 ile şifreleme bir şey duygusu nedir() veya başka bir yöntem?
Eğer bir hacker bir şifre md5 ile şifrelenmiş olursa(), he would just use this page!.
Şimdi asıl soru:
- Parola şifreleme nasıl çalışır?
Burada büyük bir web sitesi güvenlik açığı keşfettim olmadığını biliyorum! :) Ben sadece parola şifreleme mantığını anlamak istiyorum.
Bir yanlış anlama olduğuna eminim, ve eğer benim olsa ve diğer (umarım) set düz yardımcı olabilirseniz seviniriz.
Aslında ne kadar yararlı olduğunu, bu yüzden şifre şifreleme uygulamak zorunda mısın?
- Ne bu fikir hakkında?
Dediğim gibi, ben Mayıs/fikri yanlış alıyorum, ama bu yöntem gerçek bir çevre güvenlik güvenlik eklersiniz?
$reenc = array(
"h38an",
"n28nu",
"fw08d"
);
$pass = "Trufa";
$enc = chunk_split(md5($pass),5,$reenc[mt_rand(0,count($reenc)-1)]);
echo $enc;
Gördüğünüz gibi, ben rasgele rasgele dizeleri ($reenc = array()
) benim md5 ekledi (şifre) "eşsiz yapan". Elbette bu sadece aptal bir örnektir.
"Tohum şifreleme kendini" her zaman kolayca geri dönüşümlü olacak. ama tabii yanılıyor olabilirim
Yukarıdaki "şifre Eğer bir hacker bunu yaparsa" ve şifreli parola, ham .erişim almazsa bunu deşifre edebilmek o alışkanlık korumak benim fikrim olurdu php
Bu hiç mantıklı değil biliyorum, ama bu neden kötü bir fikir olduğunu çözemiyorum!
Kendimi yeterince yaptım ama umarım bu çok uzun bir soruherhangi bir açıklama isteyin lütfen gerekli!
Şimdiden teşekkürler!!
CEVAP
md5
sha512
encryption
bir olmalıdır. Ayrıca iki farklı tuzlar, static salt
(tarafından yazılmış) ve belirli bir şifre için unique salt
sonra da gerekirdi.
Örnek bir kod (ör: registration.php):
$unique_salt = hash('md5', microtime());
$password = hash('md5', $_POST['password'].'raNdoMStAticSaltHere'.$unique_salt);
Şimdi bir sen var içinde saklanan tüm şifreler için geçerli olan static salt
,.dosya php. Sonra, kayıt yürütme, belirli bir şifre için unique hash
üretirsiniz.
Tüm olan biten bu: tamamen aynı, iki farklı olacaktır yazılmış iki şifreleri hashes
. unique hash
geçerli kimliği ile birlikte database
saklanır. Eğer birisi database
kapın her özel şifre için unique salt
Her zorundalar. Ama onlar senin her "" orada. hacker için işler çok daha zor hale static salt
, ne yok
Bu örnek için login.php şifrenizi geçerliliğini kontrol edin:
$user = //random username;
$querysalt = mysql_query("SELECT salt FROM password WHERE username='$user'");
while($salt = mysql_fetch_array($querysalt)) {
$password = hash('md5',
$_POST['userpassword'].'raNdoMStAticSaltHere'.$salt[salt]);
}
Bu geçmişte kullandım. Çok güçlü ve güvenli. sha512
şifreleme kendimi tercih ederim. Aslında benim örnekte md5
yerine karma işlevi içine koymak için.
İster daha güvenli olduğu ise, tamamen farklı bir veritabanında unique salt
saklayabilirsiniz.
'foo' gerçekten ne anlama ge...
Yazıyor dosya "ihtiyacı update&qu...
Gıt FETCH_HEAD ne anlama geliyor?...
"__Blok " " anahtar kelime ne anl...
Java NaN ne anlama geliyor....