ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

23.01.2008, 03:56
|
|
Познающий
Регистрация: 15.01.2008
Сообщений: 78
Провел на форуме: 189620
Репутация:
26
|
|
-=lebed=- проверь, скорее всего у тебя в БД колонка ограничена 38 символами...
|
|
|

23.01.2008, 11:39
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
ошибка оказалась в функции декодирования хэша из hex в символьный вид:
PHP код:
// Функция декодирования хэша из hex.
function decode_hash($string)
{
$n=0;
$code="";
$decode_hash="";
$l=strlen($string)-1;
do
{
$code=ord($string[$n]); // вот тут если $code - односимвольное представление, то надо добавить 0 перед ним.
$decode_hash.=dechex($code);
}
while ($n++<$l);
return $decode_hash;
}
Исправил так:
PHP код:
// Функция декодирования хэша из hex-строки в символьное представление.
function decode_hash($string)
{
$n=0;
$code="";
$decode_hash="";
$l=strlen($string)-1;
do
{
$code=ord($string[$n]);
$code1=dechex($code);
if (strlen($code1)==1) $code1="0".$code; // если например $code=3 делаем 03
$decode_hash.=$code1;
}
while ($n++<$l);
return $decode_hash;
}
|
|
|

23.01.2008, 11:44
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
Лебедь, я же тебе написал функцию гораздо проще, зачем такой код громоздить?
|
|
|

23.01.2008, 12:41
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от Macro
Лебедь, я же тебе написал функцию гораздо проще, зачем такой код громоздить?
Это не то что мне нужно:
string bin2hex ( string str )
Возвращает строку, содержащую шестнадцатиричное представление аргумента str. Преобразование производится побайтно.
То если преобразовать строку хэша 952f26f83e66b8881ae7e603e1643e901f5b5220 то будет вот что:
39353266323666383365363662383838316165376536303365 313634336539303166356235323230
А мне надо получить строку символов, код которых chr(hexdec(95)).chr(hexdec(2f)).chr(hexdec(26)) и т.д.
|
|
|

23.01.2008, 13:39
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме: 1845062
Репутация:
1079
|
|
Я имею ввиду функцию расшифровки. А зачем тебе такая бяка?
|
|
|

23.01.2008, 14:02
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от Macro
Я имею ввиду функцию расшифровки. А зачем тебе такая бяка?
Я хочу хэши в таблице Мускула хранить в естественном виде (hex).
Т.е. например MD5(128bit) в символьном виде займёт 32 байта, а я хочу 16 байт.
MySQL(64bit) в символьном виде 16 байт, а я хочу 8 и т. д.
PS Тут ещё проблема с экранированием спецсимволов. При запросе автоматом экранируются спецсимволы в $code3 и $code4. А сами слэши в таблицу записываются?
PHP код:
$query = "INSERT INTO ".$db_table." (`passwd`,`code3`,`code4`) VALUES (null,'".$code3."','".$code4."')";
$r=mysql_query($query);
|
|
|

23.01.2008, 14:06
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
хм, а если в функции md5 второй параметр true поставить, то он и будет занимать 16 байт вроде, т.е.
md5('blabla',true)=Я^ў™$Уњ;иxW4с1iЖ
__________________
Карфаген должен быть разрушен...
Последний раз редактировалось Scipio; 23.01.2008 в 14:09..
|
|
|

23.01.2008, 14:12
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от Scipio
хм, а если в функции md5 второй параметр true поставить, то он и будет занимать 16 байт вроде, т.е.
md5('blabla',true)=Я^ў™$Уњ;иxW4с1iЖ
Это в версии 5 PHP появилось, до этого не было... 
|
|
|

23.01.2008, 14:16
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
угу в 5, я просто привык уже к 5, вот и не подумал
__________________
Карфаген должен быть разрушен...
|
|
|

23.01.2008, 14:31
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Сообщение от Scipio
угу в 5, я просто привык уже к 5, вот и не подумал
Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE
Я вообще не понимаю логики авторов php. Это должно быть сделано ещё в начальных версиях так и по умолчанию логично чтоб было сразу в бинарном виде. А уж если нада "читаемый" вид хэша получить, то доп. параметр - вот так было бы логичнее...
PS Я так понял исправляют косяки php ранние и чтоб совместимость сохранилась...
|
|
|
|
 |
|
|
Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
|
|
|
|