Java 有没有一种不用压缩就能用Bouncy Castle加密/解密的方法
我正在寻找一种在不调用输入压缩的情况下对文件/字节数组进行加密/解密的方法。更确切地说,我不想使用Java 有没有一种不用压缩就能用Bouncy Castle加密/解密的方法,java,encryption,bouncycastle,openpgp,Java,Encryption,Bouncycastle,Openpgp,我正在寻找一种在不调用输入压缩的情况下对文件/字节数组进行加密/解密的方法。更确切地说,我不想使用 ByteArrayOutputStream bOut = new ByteArrayOutputStream(); PGPCompressedDataGenerator comData = new PGPCompressedDataGenerator(algorithm); PGPUtil.writeFileToLiteralData(comData.open(bOut), PGPLiteralD
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPCompressedDataGenerator comData = new PGPCompressedDataGenerator(algorithm);
PGPUtil.writeFileToLiteralData(comData.open(bOut), PGPLiteralData.BINARY, new File(fileName));
任何参考,代码示例都比welecome,
谢谢。只需不添加压缩代码,就可以避免在PGP中添加压缩。为了让您的问题更合理,我希望您发布一个具有签名/加密+压缩的示例,然后我们可以建议如何删除压缩位 实际上,最简单的方法可能是如下设置“未压缩”:
new PGPCompressedDataGenerator(algorithm, CompressionAlgorithmTags.UNCOMPRESSED)
更简单的方法是选择
CompressionAlgorithmTags.UNCOMPRESSED
。如果这样做,在解密文件时,从对象JcaPGPObjectFactory
仍然会收到PGPCompressedData
(要解压缩),而不是PGPLiteralData
要直接接收PGPLiteralData
,可以完全避免压缩。
以您的代码为例,您可以编写:
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPUtil.writeFileToLiteralData(bOut, PGPLiteralData.BINARY, new File(fileName));