HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 23.01.2008, 03:56
PiNzit
Познающий
Регистрация: 15.01.2008
Сообщений: 78
Провел на форуме:
189620

Репутация: 26
По умолчанию

-=lebed=- проверь, скорее всего у тебя в БД колонка ограничена 38 символами...
 
Ответить с цитированием

  #2  
Старый 23.01.2008, 11:39
-=lebed=-
Флудер
Регистрация: 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;  

 
Ответить с цитированием

  #3  
Старый 23.01.2008, 11:44
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию

Лебедь, я же тебе написал функцию гораздо проще, зачем такой код громоздить?
 
Ответить с цитированием

  #4  
Старый 23.01.2008, 12:41
-=lebed=-
Флудер
Регистрация: 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)) и т.д.
 
Ответить с цитированием

  #5  
Старый 23.01.2008, 13:39
Macro
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
Провел на форуме:
1845062

Репутация: 1079


По умолчанию

Я имею ввиду функцию расшифровки. А зачем тебе такая бяка?
 
Ответить с цитированием

  #6  
Старый 23.01.2008, 14:02
-=lebed=-
Флудер
Регистрация: 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); 
 
Ответить с цитированием

  #7  
Старый 23.01.2008, 14:06
Scipio
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..
 
Ответить с цитированием

  #8  
Старый 23.01.2008, 14:12
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Scipio  
хм, а если в функции md5 второй параметр true поставить, то он и будет занимать 16 байт вроде, т.е.
md5('blabla',true)=Я^ў™$Уњ;иxW4с1iЖ
Это в версии 5 PHP появилось, до этого не было...
 
Ответить с цитированием

  #9  
Старый 23.01.2008, 14:16
Scipio
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме:
5939734

Репутация: 1917


По умолчанию

угу в 5, я просто привык уже к 5, вот и не подумал
__________________
Карфаген должен быть разрушен...
 
Ответить с цитированием

  #10  
Старый 23.01.2008, 14:31
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Scipio  
угу в 5, я просто привык уже к 5, вот и не подумал
Цитата:
Замечание: Необязательный аргумент raw_output был добавлен в PHP 5.0.0 и по умолчанию равен FALSE
Я вообще не понимаю логики авторов php. Это должно быть сделано ещё в начальных версиях так и по умолчанию логично чтоб было сразу в бинарном виде. А уж если нада "читаемый" вид хэша получить, то доп. параметр - вот так было бы логичнее...
PS Я так понял исправляют косяки php ранние и чтоб совместимость сохранилась...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.