|
|
|||||
Регистрация: May 2008
Сообщений: 102
|
Base64 (PHP & AS3)
Нашел несколько вариантов классов Base64 для AS3:
http://www.dynamicflash.com/goodies/base64 и еще другой тут предлагаемый Сначала обрадовался. Потом случился облом - Задача - в swf паковать строку в base64 - отправлять ее как параметр на php скрипт и там ее распаковывать. Проблема: PHP код: результат: AS3 код (используя этот класс http://www.dynamicflash.com/goodies/base64): результат: Судя по всему php-ный результат в два раза короче. Из-за разной длины полученных строк и из-за того что они не равны - пришедшая на php-скрипт строка декодируется с ошибками. Искал в инете - ссылка только на этот класс везде. Остальные либо не работают, либо с кучей ошибок вываливаются. Есть у кого-нибудь прямой адаптированный аналог PHPшных функций для Base64? Заранее спасибо. |
|
|||||
стервочка (я мужик)
|
UTF-8
|
|
|||||
Регистрация: May 2008
Сообщений: 102
|
Нахожу код на других языках - хоть и работает, но все равно не совпадает с выводом php
Добавлено через 2 минуты Да, я понял что где-то в этом направлении думать надо, но никак не пойму где нужно что поправить... |
|
|||||
Регистрация: May 2008
Сообщений: 102
|
В лоб:
Не выходит. Видимо надо искать другой способ перекодировки в UTF8 из ansi |
|
|||||
Регистрация: May 2008
Сообщений: 102
|
Цитата:
Я перед отправлением на скрипт еще шифрую по ключу с помощью xor var KEY:String = MD5.encrypt("password"); function xor(source:String, key:String):String { var result:String = new String(); for(var i:Number = 0; i < source.length; i++) { if(i > (key.length - 1)) { key += key; } result += String.fromCharCode(source.charCodeAt(i) ^ key.charCodeAt(i)); } return result; } trace(Base64.encode(xor("ну чо как? работаешь а? алгоритмег", KEY))); PHP: <? $key = md5("password"); $str = iconv("windows-1251", "utf-8", "ну чо как? работаешь а? алгоритмег"); function axor($source, $key) { $result = ""; for($i = 0; $i < strlen($source); $i++) { if($i > (strlen($key) - 1)) { $key .= $key; } $result .= chr(ord($source[$i]) ^ ord($key[$i])); } return $result; } echo base64_encode(axor($str, $key)); ?> Функция axor это просто переписанная функция xor из as3-варианта. Видимо что-то опять про кодировки не учел... Я никак в этом разобраться не могу Добавлено через 6 минут Целью является принять в php строку 0IjQpRTQo9GdQ9CJ0ZLQj15B0bfQhtCE0ZrRtNCB0ZHRsNG/EtCHW0XRktCD0IvQjNCj0Z7Ru9CF0IDRlQ== и из нее получить нормальную строку вот так: Потом обработать данные, сгенерить ответ, зашифровать его и отправить обратно |
|
|||||
Регистрация: May 2008
Сообщений: 102
|
Ну хорошо, хоть упаковываться будет в приличные буковки, проблем с кодировкой не будет
|
|
|||||
стервочка (я мужик)
|
не знаю чего Вы пытаетесь добиться, но явно не "упаковки". так как я пока что вижу увеличение размера относительно исходных данных.
|
Часовой пояс GMT +4, время: 14:19. |
|
« Предыдущая тема | Следующая тема » |
|
|