pgp解密 java_Java PGP加密解密实例教程详细操作步骤

本文提供了一个详细的Java PGP加密解密教程,包括使用Portable PGP工具创建密钥对、加密解密文件,以及在Java中利用Bouncy Castle库进行解密的步骤。此外,还涉及到JDK的UnlimitedJCEPolicy扩展以支持GPG的长密钥。
摘要由CSDN通过智能技术生成

本文将一步步告诉大家PGP的使用步骤,看完大家就立马可以在项目及工作环境中使用起来,so easy!!!

1,首先了解什么是PGP,PGP的工作原理是什么?这个直接百度百科,我不啰嗦。

PGP是英文

Pretty Good Privacy(更好地保护隐私)的简称,

百度百科介绍:

http://baike.baidu.com/link?url=5cONqc560BbLi0pFPQZ_shK1IrK_LzkjL8LpS9SW_AtXfDF-OXmBaclSeYv6WSMvnWv9cHWsmsUu5emyg8w39K

2,PGP加解密工具的使用。

我这里介绍一款免费的轻量级的PGP工具 Portable PGP,地址如下:

https://sourceforge.net/projects/ppgp/

打开是一个文件夹,里面包含各种系统的启动命令。

52ea14aa02e8b5246462c4e72f6433f7.png

创建密钥对(私钥,公钥):公钥一般发给对方用来加密文件,私钥用来解密接收到的文件。

465ab547025c89d8520329369ad244e2.png

39d3a1ba86184807bc241ae5e1fa054f.png

3,使用创建好的密钥进行文件加密:新建一个test.txt文档进行演示。

4f3b5e95dd1e031166703b84b5f2bef6.png

8d81a0f88840b48f3cdf5414682221d4.png

4,解密文件:用刚刚使用公钥加密的文件encrypted_test.pgp 进行解密演示。(因为刚刚是用密钥对的公钥加密,现在使用对应的私钥进行解密)

01828266d7efb048c96346b16cf5c8d6.png

5,以上是使用工具进行PGP的加密,解密的步骤;接下来我们测试一下基于java的加解密步骤。(这里只演示解密过程)

下载Bouncy Castle:Bouncy Castle支持大量的密码术算法,其中包括OpenPGP,引用很广泛,Pega就是使用Bouncy Castle对邮件和客户重要数据进行加密解密的。

地址: http://www.bouncycastle.org/latest_releases.html

bcprov-jdk15on-154.jar,bcpg-jdk15on-154.jar  (大家看到的时候,版本可能已经更新了)

6,Oracle官网下载UnlimitedJCEPolicy:JDK默认Policy只能支持<=128位Key,GPG的密钥从1024-2048,所以必须扩展该Policy。

地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

将下载的local_policy.jar ,US_export_policy.jar两个JAR覆盖系统jre环境下的两个JAR;如:../jre/lib/security/

7,实例代码如下介绍。

目录结构:

-----

KeyBasedFileProcessor类:------

后续及更多详情请看这篇文章:

http://note.youdao.com/share/?id=02105f75d054c8486c40d1546e7ad764&type=note#/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值