Java服务器无法使用Blackberry的AESkey加密/解密数据
问题描述:
我正在开发一个BlackBerry应用程序,其中的服务器使用Java。每当AES加密数据连同PKCS5格式一起发送到服务器时,服务器在解密时会得到错误的填充异常。Java服务器无法使用Blackberry的AESkey加密/解密数据
答
是黑莓还是服务器端代码?你有没有尝试过使用标准的JCE类?像这样:
Cipher aes = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKeySpec key = new SecretKeySpec(yourKeyBytes, "AES");
aes.init(Cipher.DECRYPT_MODE, key);
byte[] cleartext = aes.update(ciphertext, 0, ciphertext.length);
答
请确保您按照正确的顺序先填充填充等:填充然后加密,解密然后unpad。
检查传输的数据长度并确保它是块大小的倍数。
确保块大小在所有调用中都是一致的。
确保您的加密提供程序设置完全匹配。