我正在使用Java中的AES/CBC/PKCS5Padding密钥实例进行AES加密和解密。
如何在Java中使用黑莓加密的数据进行解密,其中使用了上述方法。
使用AES/CBC/PKCS5Padding及黑莓来解密数据。
谢谢,Bapi
我正在使用Java中的AES/CBC/PKCS5Padding密钥实例进行AES加密和解密。
如何在Java中使用黑莓加密的数据进行解密,其中使用了上述方法。
使用AES/CBC/PKCS5Padding及黑莓来解密数据。
谢谢,Bapi
我建议使用黑莓API(Bouncy Castle也可以,但为什么要把事情弄复杂呢?)。
使用net.rim.crypto包-你正在使用所有对称加密,因此您只需要标准的RIM签名密钥即可在设备上运行(需要$20和2-3天才能获取)-同时,您可以使用模拟器完成所有操作。
基本上,您将想创建一个PKCS5UnformatterEngine,该引擎包装了一个CBCDecryptorEngine,该引擎又包装了一个AESDecryptorEngine。可能会用BlockDecryptor将其全部包装起来,这样您就可以将其视为InputStream。大致如下(距离我上次做这个已经有一段时间了,所以可能无法百分百按照以下内容工作):
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