android pdf 文件加密,加密PDF与PdfBox-Android不兼容

news/2024/11/24 1:47:36/

我用Foxit和AdobeReader检查结果。 AdobeReader说我的文件已损坏,但Foxit向我显示密码对话框。但是,然后我可以尝试我想要的福昕也无法解密我的文件。

如果我设置keyLength = 256我得到了上述描述,但我也尝试了其他2个keyLength值,但是文件未加密。

我错过了什么,或者是加密只是不使用Android上的这个库?

这里是我的代码

static {

Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);

}

public void createPdf() {

File root = android.os.Environment.getExternalStorageDirectory();

String path = root.getAbsolutePath() + "/Download/crypt.pdf";

int keyLength = 256;

AccessPermission ap = new AccessPermission();

StandardProtectionPolicy spp = new StandardProtectionPolicy("12345", "", ap);

spp.setEncryptionKeyLength(keyLength);

spp.setPermissions(ap);

BouncyCastleProvider provider = new BouncyCastleProvider();

Security.addProvider(provider);

PDFont font = PDType1Font.HELVETICA;

PDDocument document = new PDDocument();

PDPage page = new PDPage();

document.addPage(page);

try {

PDPageContentStream contentStream = new PDPageContentStream(document, page);

// Write Hello World in blue text

contentStream.beginText();

contentStream.setNonStrokingColor(15, 38, 192);

contentStream.setFont(font, 12);

contentStream.newLineAtOffset(100, 700);

contentStream.showText("Hello World");

contentStream.endText();

contentStream.close();

// Save the final pdf document to a file

document.protect(spp);

document.save(path);

document.close();

} catch (IOException e) {

e.printStackTrace();

}

}

2017-03-02

HowardS

+0

该Android端口基于1.8.x版本,而不是某些2.0.x.因此,查看[1.8.x加密食谱条目](https://pdfbox.apache.org/1.8/cookbook/encryption.html),它告诉你仅支持40和128的密钥长度。因此,不管你得到什么256,都不应该使用。此外,Android端口使用SpongyCastle而不是BouncyCastle,所以请尝试使用该安全提供程序。 –

+0

谢谢你......但正如我所说:我也尝试过40和128,但它不起作用。它也使用SpongyCastle ...(我想:-),因为我使用[静态{Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(),1); }]在我的活动顶部...(我会更新我的代码上面) –

+0

请注意,这些是单独的项目...我注意到,Android源代码库没有加密单元测试/解密:-( –


http://www.ppmy.cn/news/873383.html

相关文章

食物API接口免费开放-APP数据接口

食品API接口免费开放-APP数据接口 食疗大全 (food.yi18.net)是医药吧网(www.yi18.net)旗下的食品信息网。 专门提供食品信息,食品功能与食疗分类。 现在食疗大全网 中有3千左右的食品信息,同时每天有10个左…

免费api接口分享

1、笑话:冷笑话、成人笑话、政治笑话、黑色幽默; 2、新闻:要闻、国内、国际、港澳台、军事、社会、娱乐、体育、科技、财经、教育等; 3、天气:温度、PM2.5、风向等; 4、诗词:诗人、朝代、诗句…

分享第三方免费API接口数据

聚合的免费API接口数据:手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11历史上的今天API接口:https://www.juhe.cn/docs/api/id/63股票数据API接口:https://www.juhe.cn/docs/api/id/21全国WIFI接口:https:…

菜谱小程序源码免费分享【推荐】

菜谱小程序源码免费分享 小程序功能: 1、提供优质家常菜谱查询。小程序对不同食材和地域的饮食做了不同的分类和详细的做菜方法,分类十分详细,八大菜系、特色食品、特殊场合、热门功效、人群细分、烘焙甜品、口味和食材分类的十分详细。 2、…

无次数限制的免费API接口

各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。 聚合的免费API接口数据: 手…

近百个免费API接口分享 调用完全不限次数

各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。 聚合的免费API接口数据:…

各类免费API推荐,再也不怕找不到免费API了

各类免费的API,好东西是要大家一起分享的! 之前写了一个免费、稳定的天气预报API https://www.jianshu.com/p/d878b5290c81 反响还不错,先把之前收集的其他类的免费API总结了一下,好东西是要大家一起分享的! 数据来自:图灵聊天机器人、百度开放平台、eolinker的API Shop…

有意思的一些免费API接口整理,包含官网地址以及简介

1.文档上的小牌子 官网:https://shields.io/ 举例:获取vue 在npm上的版本号 https://img.shields.io/npm/v/vue.svg?sanitizetrue 2.一言 一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动&am…