我正在寻找黑莓应用程序世界中的应用程序来创建pdf文件,该应用程序声称能够使用密码保护文件。一个密码如何保护文件。是不是可以读取文件的代码,因此如果程序决定不检查密码,密码将无用?
答案 0 :(得分:2)
除了其他答案(专注于任意文件的加密)之外,这里的答案主要集中在PDF的加密上,这是用例最初令OP震惊:
PDF标准(ISO 32000-1)在7.6节中描述了如何在隐藏内容的同时保持PDF文件结构的方式加密PDF。 PDF是由许多对象(数字,字符串,数组,字典,流,引用......)构建的,规范描述的机制基本上只加密字符串和流内容。
就像所描述的一般情况一样,例如通过@Mark,这些加密的字符串和流内容只是一堆随机数据并且必须在显示PDF之前解密,但其余的对象是未加密的,允许PDF查看者和编辑者将文件识别为PDF。
此外,PDF规范允许两种基本加密类型,按
使用后一种密码的加密显然可以避免:毕竟,如果你可以查看PDF,你可以提取所有数据并基本上做你想要的,除非你的软件与该方案合作并禁止你至。显然,并非所有软件都能合作。
基本上,所有者密码机制在从密码派生的PDF中存储一个值,该值足以解密加密数据,但不允许轻松计算原始密码。
答案 1 :(得分:0)
如果操作正确,将使用需要原始密码的算法对受密码保护的文件进行加密,以撤消加密。密码用于初始化加密/解密过程,不存储在文件中。如果您输入了错误的密码,解密将无法正常工作,程序无法知道正确的解密密钥(除了进行强力攻击)。
答案 2 :(得分:0)
假设应用程序写得很好,使用密码加密.pdf文件以获取加密密钥 - 也就是说,正确地说,文件不是.pdf文件,直到它被解密。在此之前,该文件只是一堆随机数据,在您输入密码之前,程序不知道解密密钥是什么。