2009-05-15 3 views
0

У меня есть секретный ключ, который был отправлен мне как файл, поэтому я могу зашифровать некоторые XML-данные, используя Blowfish. Как получить доступ к ключу, чтобы я мог использовать его с AS3Crypto? Я предполагаю, что мне нужно встроить его, используя метатег [Embed]. Это mimeType = "application/octet-stream", но я не уверен, правильно ли это. Как вставлять, а затем ссылаться на этот файл как на секретный ключ? Xmls, который я шифрую, не может быть расшифрован на стороне Java. Каждая попытка не выполняется с этим исключением:Шифрование/Расшифровка ECB/PKS5/Blowfish между AS3Crypto & Javax.Crypto с ошибкой заполнения

javax.crypto.BadPaddingException: данный последний блок неправильно заполнен.

В качестве бонуса, если у кого-то есть опыт работы с lib для работы с реализацией Java и он знает идеальный режим/дополнение/IV для использования, это было бы замечательно. Благодаря!

//keyFile is an embedded asset. I was given a file to use as the key 
var kdata:ByteArray = new keyFile() as ByteArray; 

//Convert orderXML to Base64 
var orderData:ByteArray = Base64.decodeToByteArray(String(orderXML)); 

//Cipher name 
var cname:String = "simple-blowfish-ecb"; 

var pad:IPad = new PKCS5; 
var mode:ICipher = Crypto.getCipher(cname, kdata, pad); 

//not sure if this is necessary. seems to be also set in mode 
pad.setBlockSize(mode.getBlockSize()); 

mode.encrypt(orderData); 

var transmitXML:String = Base64.encodeByteArray(orderData); 

//DEBUG: Output to TextArea 
storePanel.statusBox.text += "\n--TRANSMIT--\n"+transmitXML; 

ответ

1

Незнайка, если вы еще не знаете о том, как вставлять двоичные данные, но вы правы об использовании [Embed] тега (это, безусловно, один хороший способ сделать это).

Я часто вставлять так:

[Embed(source="myKeyFile.key", mimeType="application/octet-stream")] 
private const _KeyFile:Class; 
private var keyFile:ByteArray = new _KeyFile(); 

... 

trace(keyFile.length + " bytes"); // XYZ bytes 

Дополнительная информация: http://dispatchevent.org/roger/embed-almost-anything-in-your-swf/

+0

Это была именно проблема. Благодаря! – ChickensDontClap

+0

Нет проблем, лет ... – aaaidan

Смежные вопросы