मैं ब्लैकबेरी एपीआई का उपयोग करने की सलाह देता हूं (बाउंसी कैसल काम करेगा, लेकिन जटिल चीजें क्यों?)।
net.rim.crypto पैकेज का उपयोग करें - आप सभी सममित एन्क्रिप्शन का उपयोग कर रहे हैं, इसलिए आपको डिवाइस पर चलाने के लिए केवल मानक RIM signing keys की आवश्यकता होगी ($ 20 और 2-3 दिन प्राप्त करने के लिए) - इस बीच आप कर सकते हैं सिम्युलेटर के साथ सब कुछ करो।
असल में आप एक पीकेसीएस 5 अनफॉर्मेटरइंजिन बनाना चाहते हैं जो एक सीबीसीडीक्रिप्टर एंजिन को लपेटता है जो एईएसडीक्रिप्टर एंजिन को लपेटता है। संभवतः ब्लॉकडिक्रिप्टर में सबकुछ लपेटें ताकि आप इनक्रीमस्ट्रीम में इलाज कर सकें। की तरह (और यह जबकि बाद से मैं यह कर दिया है एक छोटे से हो गया है, तो यह लिखा के रूप में 100% काम नहीं कर सकता) कुछ:
InputStream encryptedInput; // if you have a byte[] of data, use a ByteArrayInputStream
AESKey key = new AESKey(<your key data as a byte[]>)
InitializationVector iv = new InitializationVector(<your iv data as a byte[]>) // of course you need to know your IV since you're doing CBC encryption
BlockDecryptor decryptor = new BlockDecryptor(
new PKCS5UnformatterEngine(
new CBCDecryptorEngine(
new AESDecryptorEngine(key),
iv
)
)
);
// then decryptor acts as an InputStream which gives you your decrypted, unpacked data
decryptor.read(buffer); // buffer will contain decrypted, unpacked data
स्रोत
2009-05-25 02:25:14
मेरा की तुलना में, लेकिन मेरे बचाव में मैं नहीं देखा एक बेहतर जवाब है कि जब तक मैं तुम्हारा पढ़ता हूं तब तक ब्लैकबेरी टैग। :-) – wds