遇到个 java 加解密的难题 10C

InputStream rawInStream = getInputStream(Filename);
cipherStream = new CipherInputStream(rawInStream, cipher);
in = new InflaterInputStream(baseStream, inf);

//使用这个in,直接读取加密压缩的文件,然后保存下来的就是明文数据

cipher中的算法是 aes 256 cbc

然后java这种加密和压缩一起叠加使用,内部原理是什么样的?
1. 每块数据分别 先压缩,再加密
2. 每块数据分别 先加密,再压缩
3. 还是 总的数据 先加密,再压缩
4. 还是 总的数据 先压缩,再加密?

3个回答

InflaterInputStream是用来解压缩的,套了CipherInputStream,它是用来解密的。getInputStream(Filename);读取的是压缩加密的原始文件。
所以是先加密,再压缩。

不要自己写,采用现成的修改一下即可

测试证实,对于这种加密流运算出来的文件,要先解密,然后再解压

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问