Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

функция Delphi в php (просьба помоч)

50K
06 июля 2009 года
mataor
5 / / 06.07.2009
В php можно сказать ток сеня начал ковыряццо..... так работаю в основном с delphi. Возникла необходимость сделать аналогичные функции шифровки для правильного понимания клиента и сервера друг с другом. если не сложно помогите переделать код, ато думаю оч долго придеться ковырятся с синтаксисом:

Код:
const
    Codes64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/';

function Encode64(S: string): string;
 var
   i: Integer;
   a: Integer;
   x: Integer;
   b: Integer;
 begin
   Result := '';
   a := 0;
   b := 0;
   for i := 1 to Length(s) do
   begin
     x := Ord(s);
     b := b * 256 + x;
     a := a + 8;
     while a >= 6 do
     begin
       a := a - 6;
       x := b div (1 shl a);
       b := b mod (1 shl a);
       Result := Result + Codes64[x + 1];
     end;
   end;
   if a > 0 then
   begin
     x := b shl (6 - a);
     Result := Result + Codes64[x + 1];
   end;
 end;

 function Decode64(S: string): string;
 var
   i: Integer;
   a: Integer;
   x: Integer;
   b: Integer;
 begin
   Result := '';
   a := 0;
   b := 0;
   for i := 1 to Length(s) do
   begin
     x := Pos(s, codes64) - 1;
     if x >= 0 then
     begin
       b := b * 64 + x;
       a := a + 6;
       if a >= 8 then
       begin
         a := a - 8;
         x := b shr a;
         b := b mod (1 shl a);
         x := x mod 256;
         Result := Result + chr(x);
       end;
     end
     else
       Exit;
   end;
 end;
50K
06 июля 2009 года
mataor
5 / / 06.07.2009
блин мне не нужна куча методов шифрования.... мне нужно чтобы клиент мог расшифровать то что зашифровал скрипт, и наоборот.... т.е. результат выполнения функций должен быть одинаковым.
12
07 июля 2009 года
alekciy
3.0K / / 13.12.2005
9-ая ссылка (http://vladimirkim.livejournal.com/674.html) готовый пример обратимого шифрования.
92
07 июля 2009 года
Тень Пса
2.2K / / 19.10.2006
Цитата: mataor
В php можно сказать ток сеня начал ковыряццо..... так работаю в основном с delphi. Возникла необходимость сделать аналогичные функции шифровки для правильного понимания клиента и сервера друг с другом. если не сложно помогите переделать код, ато думаю оч долго придеться ковырятся с синтаксисом:


это ж base64?
тогда читай маны - http://ru2.php.net/base64_decode

50K
07 июля 2009 года
mataor
5 / / 06.07.2009
Цитата: Тень Пса
это ж base64?
тогда читай маны - http://ru2.php.net/base64_decode



в том то и дело что ет не base64... хотя и похоже на него но результат другой... из-за этого то и проблемка

Цитата: alekciy
9-ая ссылка (http://vladimirkim.livejournal.com/674.html) готовый пример обратимого шифрования.


tcxj раз повторю мне нужно чтобы клиент и скрипт на сайте друг друга понимали

50K
07 июля 2009 года
mataor
5 / / 06.07.2009
попытался сотворить такое
Код:
function encode64($encode) {
  $b64chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/";
  $a = 0;
  $b = 0;
  for($i=0; $i<strlen($encode); $i++) {
    $x = ord($encode[$i]);
    $b = $b * 256 + $x;
    $a += 8;
    while ( $a >= 6 ){
      $a -= 6;
      $x = $b / (1 << a);
      $b = $b % (1 << a);
      return ($b64chars[$x + 1]);
    }
  }
  if ($a > 0){
    $x = $b << (6 - $a);
    return ($b64chars[$x + 1]);
  }
}

но на выходе ничего не получаю...
и кстать как на php правильно организовать Result := Result + Codes64[x + 1]; и целочисленное деление (div в delphi)?
366
07 июля 2009 года
int
668 / / 30.03.2005
$Result += $Codes64[x + 1];
a div b - это вроде бы то же, что и floor($a/$b)
50K
07 июля 2009 года
mataor
5 / / 06.07.2009
Цитата: int
$Result += $Codes64[x + 1];
a div b - это вроде бы то же, что и floor($a/$b)



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

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог