当我尝试使用bouncycastle加密/解密PDF文件时,这给了我一个空的pdf(与184Ko大小)。该代码完美地与文本文件一起工作。但没有办法用PDF文件。 任何人都有一个想法如何在Java中加密/解密PDF文件?PDF加密/解密不工作
波纹管,我使用的加密代码, 我得到一个异常时,我加密PDF文件(java.lang.ArrayIndexOutOfBoundsException:用于RSA块太多数据)在这一行密文= cipher.doFinal(输入):
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
byte[] input = acVote;
byte[] cipherText = null;
Cipher cipher = null;
try {
cipher = Cipher.getInstance("RSA/ECB/OAEPPadding", "BC");
SecureRandom random = new SecureRandom();
//do encryption
cipher.init(Cipher.ENCRYPT_MODE, pubKey, random);
cipherText = cipher.doFinal(input);
} catch (Exception ex) {
log.error("Exeption Message : " + ex);
}
当我加密一个.txt文件,它的工作原理...
**(A)**您不显示任何代码。因此,我们不知道您尝试了什么。那么我们怎么能说出那个错误呢? **(B)**您谈论PDF加密。您的意思是使用PDF规范中提到的加密算法之一进行加密,因此您可以使用标准PDF查看器进行解密?或者你的意思是PDF不可知的加密? – mkl
PDFencryption作为字符串加密... 正如我所说的这项工作的.txt文件,但不是.pdf文件... –
PDFs不是字符串,不是字符数据,它们是二进制文件。因此,使用用于文本字符串的代码可能会导致PDF失败。 – mkl