تشفير / فك البنك المركزي الأوروبي / PKS5 / السمكة المنتفخة بين AS3Crypto وJavax.Crypto فشل مع الخطأ الحشو

StackOverflow https://stackoverflow.com/questions/869470

سؤال

ولدي المفتاح السري الذي أرسل لي كملف حتى أستطيع تشفير بعض البيانات أكس باستخدام السمكة المنتفخة. كيف يمكنني الوصول إلى المفتاح بحيث يمكنني استخدامها مع AS3Crypto؟ أفترض أنا بحاجة إلى تضمين ذلك باستخدام [تضمين الكود الفوقية. انها MIMETYPE = "التطبيق / الثماني تيار" لكنني لست متأكدا إذا thats الحق. كيف يمكنني تضمين، ثم الرجوع هذا الملف المفتاح السري؟ في ملفات XML أنني تشفير لا يمكن فك تشفير على الجانب جافا. فشلت كل محاولة مع هذا الاستثناء:

وjavax.crypto.BadPaddingException: نظرا كتلة النهائية لا مبطن بشكل صحيح.

وعلى سبيل المكافأة، إذا كان أي شخص لديه خبرة باستخدام ليب للعمل مع تنفيذ جافا ويعرف المثالي / وضع الحشو / 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;
هل كانت مفيدة؟

المحلول

ودونو إذا كنت لا تزال غير متأكد من كيفية تضمين البيانات الثنائية، ولكن كنت على حق حول استخدام العلامة [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-بك-فرنك سويسري /

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top