Здравствуйте! Столкнулся с одной проблемкой.
Легенда:
Есть криптографическая библиотека
http://code.google.com/p/as3crypto/ меня интересует конкретно "aes-128-ecb" шифрование.
Вот кусочек кода как оно работает:

Код AS3:
var testStr:String = "Meet me at 11 o clock behind the monument.";
var keyStr:String = "thisisaverysecre";//somerandomstring
var strBytes:ByteArray = new ByteArray();
strBytes.writeUTFBytes(testStr);
var keyBytes:ByteArray = new ByteArray();
keyBytes.writeUTFBytes(keyStr);
var mode:ICipher = Crypto.getCipher("aes-128-ecb", keyBytes);
mode.encrypt(strBytes);
var encoded:String = Base64.encode(strBytes);
trace(encoded);//В отпут выходит вот это: "1X0ceapxfyHFztoZ34dmzp7up0XnRaOt/IvCyAsuGheyq0W21NuTyoY7WaZCs4xE"
trace(strBytes.length);//В оутпут выходит число 48
mode.decrypt(strBytes);
trace(strBytes);
Теперь представим гипотетическую ситуацию, когда с сервера приходит строка кодированная в Base64. А мы хотим её обработать. Для чистоты эксперимента возьмём эту строку
"1X0ceapxfyHFztoZ34dmzp7up0XnRaOt/IvCyAsuGheyq0W21NuTyoY7WaZCs4xE".

Код AS3:
var decoded:ByteArray = Base64.decode("1X0ceapxfyHFztoZ34dmzp7up0XnRaOt/IvCyAsuGhcGaXGSndGJnFbNxIxTrFym");
var testStr:String = decoded.toString();
var keyStr:String = "thisisaverysecre";
var strBytes:ByteArray = new ByteArray();
strBytes.writeUTFBytes(testStr);
var keyBytes:ByteArray = new ByteArray();
keyBytes.writeUTFBytes(keyStr);
var mode:ICipher = Crypto.getCipher("aes-128-ecb", keyBytes);
trace(strBytes.length);//В оутпут выводит: 68
mode.decrypt(strBytes);//Здесь код крашится
trace(strBytes);
Это грустно, так как 68 и 48 это разные числа

Похоже что здесь дело в том, как мы пишем строку в ByteArray.
Если попробовать такой способ:

Код AS3:
strBytes.writeUTF(testStr);
trace(strBytes.length);//В оутпут выводит: 70
Таким образом становится понятно, что крашится скрипт потому, что не удаётся воссоздать оригинальный ByteArray.
Вопросы:
Возможно существуют какие-то способы передачи ByteArray от php сервера? И нужно пользоваться именно ими? Или возможно надо как то по другому воссоздавать ByteArray, пользуясь другими методами? Подскажите пожалуйста, как действовать в этой ситуации. Уже не первый день думаю над этим.