我有一個祕密密鑰作爲文件發送給我,因此我可以使用Blowfish加密一些xml數據。如何訪問密鑰,以便我可以將它與AS3Crypto一起使用?我假設我需要使用[Embed]元標記嵌入它。這是mimeType =「application/octet-stream」,但我不確定這是否正確。如何嵌入,然後將此文件作爲密鑰引用?我正在加密的xmls無法在Java端解密。每次嘗試都失敗,出現此異常:加密/解密AS3Crypto和Javax.Crypto之間的ECB/PKS5/Blowfish失敗,出現填充錯誤
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;
這正是問題。謝謝! – ChickensDontClap 2011-01-03 15:46:37
沒有probs,喲... – aaaidan 2011-01-19 02:29:35