当我在Android中运行此代码时,它不会产生错误,但是当我在标准Java程序中运行它时,它会产生异常:java.security.InvalidKeyException:非法密钥大小。java.security.InvalidKeyException:非法密钥大小
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec keySpec = new SecretKeySpec(CHUNK_ENCRYPTION_KEY.getBytes(), 0, 32, "AES");
IvParameterSpec initVector = new IvParameterSpec(AES_INITIALIZATION_VECTOR.getBytes(), 0 , 16);
cipher.init(Cipher.ENCRYPT_MODE, keySpec, initVector);
CHUNK_ENCRYPTION_KEY是硬编码到程序中的32字节密钥。 AES_INITIALIZATION_VECTOR是一个16字节的硬编码初始化向量。
有谁知道为什么它可以在Android上工作,而不是在桌面上?
您的问题缺少一个问号。 – Snicolas
@Hank我正面临类似的问题。你有没有解决这个问题? – NovusMobile
不,我永远无法解决这个 – Hank