前言:
此刻朋友们对“java 文件加密解密”大致比较重视,看官们都需要了解一些“java 文件加密解密”的相关文章。那么小编在网络上汇集了一些有关“java 文件加密解密””的相关知识,希望咱们能喜欢,咱们一起来了解一下吧!前言
在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密。同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档。本文将通过Java程序来演示如何对PDF文档进行加密和解密。
此次代码示例用到的控件是Free Spire.PDF for Java。该控件主要功能在于帮助开发人员在Java应用程序中生成和操作PDF文档,且运行环境无需安装Adobe Acrobat。
Jar包安装及导入
在运行代码前,需将Jar包导入IDEA中。导入方式有两种:其 一,在E-iceblue中文官网上下载Free Spire.PDF for Java产品包,解压后将lib文件夹下的Spire.Pdf.jar手动导入IDEA中;其 二,在IDEA中创建一个Maven项目,然后在pom.xml文件中键入以下代码,最后点击“Import Changes”即可。
<repositories> <repository> <id>com.e-iceblue</id> <url>;/url> </repository> </repositories><dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>3.9.0</version> </dependency></dependencies>
最终导入效果图如下:
代码示例
【示例1】加密PDF文档
import java.util.EnumSet;import com.spire.pdf.PdfDocument;import com.spire.pdf.security.PdfEncryptionKeySize;import com.spire.pdf.security.PdfPermissionsFlags;public class Encrypt { public static void main(String[] args) { //创建PdfDocument实例 PdfDocument doc = new PdfDocument(); //加载PDF文件 doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf"); //对文件进行加密 PdfEncryptionKeySize keySize = PdfEncryptionKeySize.Key_128_Bit;//设置KeySize String openPassword = "myppt123";//设置文档打开密码 String permissionPassword = "edit"; EnumSet flags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Fill_Fields); doc.getSecurity().encrypt(openPassword,permissionPassword,flags, keySize); //保存文件 doc.saveToFile("output/Encrypt.pdf"); doc.close(); }}
效果截图:
【示例2】解密PDF文档
import com.spire.pdf.PdfDocument;import com.spire.pdf.security.PdfEncryptionKeySize;import com.spire.pdf.security.PdfPermissionsFlags;public class Decrypt { public static void main(String[] args) throws Exception { //创建PdfDocument实例 PdfDocument doc = new PdfDocument(); //加载PDF文件 doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Encrypt.pdf", "myppt123"); //对文件进行解密 doc.getSecurity().encrypt("", "", PdfPermissionsFlags.getDefaultPermissions(), PdfEncryptionKeySize.Key_256_Bit, "edit"); //保存文件 doc.saveToFile("output/Decrypt.pdf"); doc.close(); }}
通过运行以上代码,我们能够成功地将设有打开口令的PDF文档进行解密。
总结
Free Spire.PDF for Java除了可设置打开口令对文档进行保护外,还支持为PDF文档添加数字签名、验证数字签名有效性及添加骑缝章等功能。其他功能将在今后的教程里一一讲解,可关注作者方便日后查找。对代码或产品包导入有疑问,可评论或私信。