Rijndael кодирование PHP FLASH декодирование

Я пытаюсь передать некоторые зашифрованные данные во флэш-память, но я застрял где-то посередине.

Я использую алгоритм RIJNDAEL для кодирования данных в PHP:

function encrypt($text){
    $key = "53cded30ff7ba54d65b939fd594e3d63";
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); //get vector size on CBC mode 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); //Creating the vector
    $cryptedtext = mcrypt_encrypt (MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $iv); //Encrypting using MCRYPT_RIJNDAEL_256 algorithm 
    return $cryptedtext;
}

И я использую библиотеку AS3CRYPT для расшифровки значения во флэш-памяти.

Проблема в том, что если я попытаюсь декодировать значение во флэш-памяти или даже в демо-версии AS3CRYPT, это не сработает.

Я также пытался вернуть данные из PHP, закодированные с помощью base64_encode, но все еще не работает.

Вывод из PHP выглядит примерно так: flashvar=Á žJcV—µg)7¾1´‘5{Ò<¶Ù$þS„§”

Возможно, я сделал что-то не так в PHP...


person NVG    schedule 24.06.2011    source источник
comment
Скорее всего, вы используете неправильную методологию расшифровки во Flash. Хороший алгоритм шифрования не сообщает, если вы что-то не так (например, неправильная ключевая фраза), вы просто получаете мусор вместо того, что ожидали.   -  person Marc B    schedule 25.06.2011


Ответы (1)


PHP не добавляет никаких дополнений, которые, вероятно, необходимы.

Вам придется дополнять его вручную, взгляните на этот пост на PHP.net, в котором объясняется один из способов достижения совместимости заполнения PKCS7.

Кроме того, убедитесь, что вы устанавливаете соответствующий режим конфиденциальности (CBC) и шифр в «AS3CRYPTO».

person tplaner    schedule 24.06.2011