有没有办法 encrypt/decrypt 在不使用压缩的情况下使用 Bouncy Castle
Is there a way to encrypt/decrypt using Bouncy Castle without using compression
我正在寻找一种方法来 encrypt/decrypt files/byte 数组而不调用输入压缩。更准确地说,不想使用像
这样的东西
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPCompressedDataGenerator comData = new PGPCompressedDataGenerator(algorithm);
PGPUtil.writeFileToLiteralData(comData.open(bOut), PGPLiteralData.BINARY, new File(fileName));
欢迎任何参考,代码示例,
谢谢
您只需不添加执行此操作的代码即可避免在 PGP 中添加压缩。为了使您的问题变得明智,我希望您 post 一个具有 signing/encryption + 压缩的示例,然后我们可以建议如何删除压缩位。
实际上,最简单的方法可能是像这样设置 "uncompressed":
new PGPCompressedDataGenerator(algorithm, CompressionAlgorithmTags.UNCOMPRESSED)
更简单的方法是选择 CompressionAlgorithmTags.UNCOMPRESSED
。如果你这样做,当你解密文件时,从对象 JcaPGPObjectFactory
你仍然会收到一个 PGPCompressedData
(要解压缩)而不是 PGPLiteralData
.
直接接收PGPLiteralData
,你完全可以避免压缩。
以您的代码为例,您可以这样写:
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPUtil.writeFileToLiteralData(bOut, PGPLiteralData.BINARY, new File(fileName));
我正在寻找一种方法来 encrypt/decrypt files/byte 数组而不调用输入压缩。更准确地说,不想使用像
这样的东西ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPCompressedDataGenerator comData = new PGPCompressedDataGenerator(algorithm);
PGPUtil.writeFileToLiteralData(comData.open(bOut), PGPLiteralData.BINARY, new File(fileName));
欢迎任何参考,代码示例, 谢谢
您只需不添加执行此操作的代码即可避免在 PGP 中添加压缩。为了使您的问题变得明智,我希望您 post 一个具有 signing/encryption + 压缩的示例,然后我们可以建议如何删除压缩位。
实际上,最简单的方法可能是像这样设置 "uncompressed":
new PGPCompressedDataGenerator(algorithm, CompressionAlgorithmTags.UNCOMPRESSED)
更简单的方法是选择 CompressionAlgorithmTags.UNCOMPRESSED
。如果你这样做,当你解密文件时,从对象 JcaPGPObjectFactory
你仍然会收到一个 PGPCompressedData
(要解压缩)而不是 PGPLiteralData
.
直接接收PGPLiteralData
,你完全可以避免压缩。
以您的代码为例,您可以这样写:
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPUtil.writeFileToLiteralData(bOut, PGPLiteralData.BINARY, new File(fileName));