Я сделал то же самое с разными бэк-эндами, и может быть головной болью заставить их соответствовать.
Я с высокой степенью уверенности скажу вам по опыту, что, скорее всего, проблема, с которой вы сталкиваетесь, заключается в том, что заполнение не совпадает между этими двумя значениями или кодировка идет вперед и назад (Hex).
Вот некоторый рабочий код Coldfusion из реализации, которую я сделал пару лет назад, быстрее всего я смог выкопать ...
<cfsetting enablecfoutputonly="yes">
<cfparam name="form.k" default="1bbee91984f8b5bc032b6f67a665704e"/>
<cfscript>
textToEncrypt = 'printButton=No&saveButton=No';
encKey = ToBase64(BinaryDecode(form.k,"Hex"));
encryptedText = encrypt(textToEncrypt, encKey, 'AES', 'Hex');
</cfscript>
<cfoutput>settings=#encryptedText#</cfoutput>
(примечание: неужели холодная реакция не удивительна? Хе-хе: P)
Сторона дешифрования в flex:
private function settingsEncResponse( e : ResultEvent ) : void {
// decrypt settings string
var o : Object = e.result;
var k:String = pKey; // key to decrypt with
var kdata:ByteArray;
kdata = Hex.toArray(k);
var txt:String = o.settings; // text to decrypt
var data:ByteArray;
data = Hex.toArray(txt);
var pad:IPad = new PKCS5;
var mode:ICipher = Crypto.getCipher("aes-ecb", kdata, pad);
pad.setBlockSize(mode.getBlockSize());
mode.decrypt(data);
currentInput = data;
var decryptedSettings : String = Hex.toString(Hex.fromArray(currentInput));