ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Профи, помогите преобразовать данную функцию
  #1  
Старый 24.09.2008, 20:31
zahirmen
Новичок
Регистрация: 22.09.2008
Сообщений: 5
Провел на форуме:
15962

Репутация: 0
По умолчанию Профи, помогите преобразовать данную функцию

Профи, помогите преобразовать данную функцию из делфи в пхп.Буду весьма признателен.

Последний раз редактировалось zahirmen; 25.09.2008 в 12:15..
 
Ответить с цитированием

  #2  
Старый 24.09.2008, 21:07
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

А почему бы не использовать стандартный метод для генерации хэша?
 
Ответить с цитированием

  #3  
Старый 24.09.2008, 21:33
zahirmen
Новичок
Регистрация: 22.09.2008
Сообщений: 5
Провел на форуме:
15962

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

Вопрос заклюается не в выборе метода генерации хеша, а именно преобразование этого кода из Делфи в Пхп.
 
Ответить с цитированием

  #4  
Старый 24.09.2008, 22:09
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

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

что именно не получаецо? помочь - одно, сделоть за вас - совсем другое.

п.с. ник соответствует содержанию?
 
Ответить с цитированием

  #5  
Старый 24.09.2008, 22:30
zahirmen
Новичок
Регистрация: 22.09.2008
Сообщений: 5
Провел на форуме:
15962

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

2FrMn, а не поучается то что я паскалем 4 года назад пользавался.
2. ты хочешь сказать что-то за мой ник или за меня?
 
Ответить с цитированием

  #6  
Старый 24.09.2008, 22:41
zahirmen
Новичок
Регистрация: 22.09.2008
Сообщений: 5
Провел на форуме:
15962

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

<?
Код:
$MAC[0]="0";
$MAC[1]="0";
$MAC[2]=":";
$MAC[3]="1";
$MAC[4]="B";
$MAC[5]=":";
$MAC[6]="F";
$MAC[7]="C";
$MAC[8]=":";
$MAC[9]="9";
$MAC[10]="0";
$MAC[11]=":";
$MAC[12]="7";
$MAC[13]="2";
$MAC[14]=":";
$MAC[15]="6";
$MAC[16]="B";

//function GenerateHash($MAC){

 $cipher1='';
 $last_char=$MAC[0];

   for ($i=1; $i<=16; $i++){
     $last_char=$MAC[$i-1];
     $current_char=ord($MAC[$i]);
     $ok=0;

if ($current_char==ord("1")){
 $cipher1.=chr(($current_char+102)%15+97);
$ok=1;
}
if ($current_char==ord("7")){
 $cipher1.=chr($current_char);
 $cipher1.="h";
$ok=1;
}
if (($current_char==ord("0"))or($current_char==ord("4"))){
 $temp1=$current_char%19;
 $cipher1.=chr((5*$temp1)%29-ord($last_char)%7+93);  
 $cipher1.="$last_char";
 $cipher1.="h";
 
$ok=1;
}
if (($current_char==ord("2"))or($current_char==ord("5"))){
 $temp1=$current_char;
  if (($current_char%3)!=1) $temp1=ord("9");
 $cipher1.=chr($current_char-$temp1+18);
 
$ok=1;
}

if ($ok==0){
 $cipher1.=chr($current_char);
}
   }
echo $cipher1;

//}
//GenerateHash($MAC);
?>
Не получается.

Последний раз редактировалось zahirmen; 24.09.2008 в 23:11..
 
Ответить с цитированием

  #7  
Старый 24.09.2008, 23:45
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

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

PHP код:
<?php
$MAC
[0]="0";
$MAC[1]="0";
$MAC[2]=":";
$MAC[3]="1";
$MAC[4]="B";
$MAC[5]=":";
$MAC[6]="F";
$MAC[7]="C";
$MAC[8]=":";
$MAC[9]="9";
$MAC[10]="0";
$MAC[11]=":";
$MAC[12]="7";
$MAC[13]="2";
$MAC[14]=":";
$MAC[15]="6";
$MAC[16]="B";

$cipher1 '';
for (
$i=1;$i<=16;$i++)
{
    
$last_char $MAC[$i-1];
    
$current_char ord($MAC[$i]);
    switch (
$current_char)
    {
    case 
0x2d:$cipher1 .= chr ($current_char $i 31 18);
        break;
    case 
0x31:$cipher1 .= chr(($current_char 102) % 15 97);
        break;
    case 
0x37:$cipher1 .= chr($current_char) + chr(0x68);
        break;
    case 
0x30:case 0x34:
        
$temp1 $current_char 19;
        
$cipher1 .= chr( ($temp1) % 29 ord($last_char) % 93) + $last_char chr(0x68);
        break;
    case 
0x32:case 0x35:
        
$temp1 $current_char;
        if (
$current_char != 1$temp1 ord('9');
        
$cipher1 .= $cipher1 chr($current_char $temp1 18);
        break;
    default:    
$cipher1 .= $cipher1 chr($current_char);
    }
}
echo 
$cipher1;
?>
 
Ответить с цитированием

  #8  
Старый 24.09.2008, 23:58
zahirmen
Новичок
Регистрация: 22.09.2008
Сообщений: 5
Провел на форуме:
15962

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

2FrMn, спасибо, но где-то ошибка $cipher1 получается другой нежели в делфи
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите узнать пароль админа Моргенштерн АнтиАдмин 27 21.07.2008 01:35
Узнать адрес по Ip или вернуть мыло(только ПРОФИ) sultan128 О Работе 0 07.04.2008 13:54



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


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




ANTICHAT.XYZ