SORU
8 Aralık 2010, ÇARŞAMBA


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):

ŞifrelemekKarma 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:

  1. 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?

  1. 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
8 Aralık 2010, ÇARŞAMBA


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dirkgently1

    dirkgently1

    13 NİSAN 2006
  • Madeon

    Madeon

    31 Ocak 2010
  • majesticdubstep

    majesticdubs

    3 Kasım 2011