md5()

11 отговора 391 прегледа
#1

md5()

abe ima li na4in string koito e minal prez md5(); da se vyrne v normalnia si variant?

Отговор
в отговор на an #2

Re: md5()

Не, кодирането с MD5() е еднопосочно.

Отговор
в отговор на $burov #3

Re: md5()

е добре понеже и аз скоро мислех и се мъчих с една система за логване .. накрая я оставих паролите да се записват в плен текст в ДБ-то (MySQL).
На мен по скоро въпроса ми е следния :
как след като съм получил пасс от юзера във вида :
$1$/BD0ukbt$s9rr5kR1p0l3ODAYOIBKz1 и този вид вече е в базата
следващия път като дойде юзера и си напише пасса да разбера че наистина е това пасса му ? .. ако все още не съм станал ясен имам впредвид как да стане така че 1 парола с различен криптнат вид да се разбере че е тя?

по добре да мълча и да изглеждам глупав, отколкото да си отворя устата и да го докажа
Отговор
в отговор на TeHuCka #4

Re: md5()

Потребителя въвежда паролата си и натиска бутона submit. След това правиш една заявка към базата-данни да провериш дали е вярна, нали? Номера е в заявката:

$pass2 = md5($_POST[password]);

$query = "select * from users where UserPass = '$pass2' ";

т.е. всеки път, когато юзера се логне, прекарваш паролата през md5() и с получения резултат правиш запитване към базата-данни.

Честита нова година на всички

Отговор
в отговор на $burov #5

Re: md5()

мдам с md5() става ... ама не и с crypt ... мерси

Редактирано от TeHuCka на

Отговор
в отговор на $burov #6

Re: md5()

$burov, tova koeto pishesh e dosta chesto sreshtana greshka:

'$query = "select * from users where UserPass = '$pass2' ";'

predstavi si syvsem normalnia scenarii da imash 2 usera s edin i sysht pass2. toia kod stava dosta nepravilen, nali?

neshto takova reshava problema:

[...]

$UserID = $_POST["userid"];
$Password = md5($_POST["secret"]);

$query = "SELECT userid, secret FROM $table WHERE userid = '$UserID' AND secret = '$Password'";
$result = mysql_query($query);
$numrows = mysql_num_rows($result);

if ("$numrows" == "1") { while($row = mysql_fetch_array($result)){

session_start();

// register session vars...

[...]

Отговор
в отговор на foo1 #7

Re: md5()

Прав си, че твоята заявка е по-пълна. Това използвам и аз в моите скриптове. Иеята ми беше да покажа как трябва да се процедира при случай в който паролата е кодирана чрез md5() и Тошо ме разбра

Отговор
в отговор на foo1 #8

Re: md5()

без да те обиждам мисля , че забележката беше излишна
ясно е че ще проверяи юзернейма и паролата

по добре да мълча и да изглеждам глупав, отколкото да си отворя устата и да го докажа
Отговор
в отговор на TeHuCka #9

Re: md5()

е добре понеже и аз скоро мислех и се мъчих с една система за логване .. накрая я оставих паролите да се записват в плен текст в ДБ-то (MySQL).

[...]

. ако все още не съм станал ясен имам впредвид как да стане така че 1 парола с различен криптнат вид да се разбере че е тя?

pich, tova sa tvoi dumi bez da se obijdash i ti - opredeleno ne mojesh da rabotish s md5 i bazi danni. taka che vijdash che ne moga da sym siguren koe kak shte napravish. ne se zasiagai - ako ne si nauchil neshto, niakoi drug koito chete threada sigurno e...

по добре да мълча и да изглеждам глупав, отколкото да си отворя устата и да го докажа



Отговор
в отговор на foo1 #10

Re: md5()

а ти проследи по-внимателно , че аз говоря за crypt а $burov за md5(), две съвсем различни неща ....
ади направи си crypt() и после пак ми отговори в същия дух

по добре да мълча и да изглеждам глупав, отколкото да си отворя устата и да го докажа
Отговор
в отговор на TeHuCka #11

Re: md5()

za 1 neshto si prav - ne vidiah che za crypt() stava duma, no pak shte ti otgovoria v syshtia duh - ne si naiasno i s crypt()
(v koeto niama nishto losho i obidno, nali?).

osven tova triabva da si naiasno md5 ili des iskash da polzvash.
(md5 hashinga polzva 12 simvola za salt, a des samo 2)
razgledai man stranicata za dop. informacia.

<?php

$salt = "00" // des [2] ili md5 [12] [a-zA-Z0-9./]
// polzvash edin i sysht salt za vsichki paroli
$p = $_POST['secret'];
$p_crypt =crypt($salt, $p]);

// [...] insert v db...
// proverkata e malko poveche posle,
// no nishto po-razlichno ot tova koeto se kaza dosega

?>

uspeh

Отговор
в отговор на foo1 #12

primer

vyprosyt beshe "kak da se napravi" ta zatova si pozvoliavam da dam i primer:

[foo.htm]

<form action="foo.php" method="post">
<table align="center" cellspacing="1" border="0" cellpadding="3">
<tr><td>login</td><td><input type="text" name="login"></td></tr>
<tr><td>secret</td><td><input type="password" name="secret"></td></tr>
<tr><td><input type="submit" name="submit" value="enter"></td><td></td></tr>
</form>

[foo.php]

<?php

$sorrymsg = "We are currently experiencing technical";
$sorrymsg .= " difficulties. Try again in 10 minutes.";
$location = "localhost";
$username = "mysql_user";
$password = "mysql_pass";
$database = "dbname";
$table = "tablename";

$salt = "112233445566"; // md5 hashing
$login = $_POST['login'];
$secret = $_POST['secret'];
$csecret = crypt($secret, $salt);

$conn = mysql_connect("$location","$username","$password");
if (!$conn) die ("$sorrymsg");
mysql_select_db($database,$conn) or die ("$sorrymsg");

$query = "SELECT userid, secret FROM $table WHERE userid = '$login' AND secret = '$csecret'";
$result = mysql_query($query);
$numrows = mysql_num_rows($result);

if ("$numrows" == "1") {

echo "success";

// initialize session, etc..

} else {

die ("login failure");

}

?>

Отговор