Показать сообщение отдельно

  #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;  

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