- 我不认为CCCrypt支持使用相同的数组进行输入和输出。尝试使用两个不同的数组。
- 您必须自己调整输出数组的大小(调用后numBytesEncrypted应该等于16)。
- 据我所知,使用ECB加密而不是CBC的IV信号为空。只要您的输入小于15个字节,它就不会有任何区别,但是仍然应该解决。
编辑: 另一个问题:
- 您正在使用24字节密钥。AES-128需要128位= 16字节密钥,AES-192需要192位= 24字节密钥,而AES-256需要256位= 32字节密钥。您向CCCrypt明确指示AES-128,这意味着它会忽略密钥的最后8个字节。您只是将AES指示为Java,这意味着它将查看密钥大小来确定要使用的AES变体。由于您提供的是24字节密钥,因此它使用AES-192。修复它,以便两端使用相同的算法,您应该会很好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)