[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: md5
shmali
Доброго времени суток.

Такой вопрос :Почему md5(); выдает одинаковый код ...

$login = 'odin';
$login2='peati';
$pass = 'dva';
$pass2 ='vosemi';
$hash = md5($login+$pass);
$hash2 = md5($login2 + $pass2);


Результат:

$hash = cfcd208495d565ef66e7dff9f98764da
$hash2= cfcd208495d565ef66e7dff9f98764da


Что я не так понял или сделал ?



Спустя 2 минуты, 14 секунд (29.03.2011 - 00:54) Nikitian написал(а):
А так?

$login = 'odin';
$login2='peati';
$pass = 'dva';
$pass2 ='vosemi';
$hash = md5($login.$pass);
$hash2 = md5($login2 . $pass2);

Спустя 1 минута, 4 секунды (29.03.2011 - 00:55) shmali написал(а):
А так работает user posted image
пасиба!!!

Спустя 49 минут, 36 секунд (29.03.2011 - 01:45) Nikitian написал(а):
Ну раз написали в карму, что объяснил, то объясню ))
Т.к. PHP является нетипизированным языком, то при всех операциях с переменными он пытается их привести к типу, который свойственнен данной операции. "+" - это арифметическая операция и ваш алгоритм представлялся примерно так:

$hash = md5(floatval($login)+floatva($pass));
$hash2 = md5(floatval($login2) + floatval($pass2));

floatval() во всех случаях возвращал 0, от чего и бралась функция md5(). md5(0) = cfcd208495d565ef66e7dff9f98764da
Для объединения строк существует оператор ".", который как раз и объясняет php, что "операция со строками, не надо их ни во что переводить."

Спустя 1 час, 19 минут, 8 секунд (29.03.2011 - 03:04) shmali написал(а):
Цитата (Nikitian @ 28.03.2011 - 22:45)
Ну раз написали в карму, что объяснил, то объясню ))

вот теперь точно понял)) спасибо!!! user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.