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

news/2024/7/5 3:04:30

本文将一步步告诉大家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/

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

5ab5fff5947c04de67a831fafb0cf912.png

?

?

?

c664cf187cb7e1e0efffc07c3c07e908.png

?

?

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

17c37af30f34ad228f76837d2e7549ad.png

3c2cdbbecdbbba358aa5ffb1a64b8891.png

a91e1021b0f687f89a1ea6049072d121.png

58aa8d80b49807402ac61639e6967fa8.png

?

?

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

7e739346427078e0ddb5d69999af65cb.png

?

152afb2a24ee377a3540377677935f3a.png

34ac29be2d99e17ba2a02248cf4428e6.png

?

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

c8dc4936cd74215ae0222d1db026f4a8.png

?

9d141ca1e8e980b3cf325d690dde66a2.png

?

?

ca368b95767780fe48f45a0b95a629bb.png

?

?

?

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

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

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

?

?

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

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

?

7,实例代码如下介绍。

目录结构:

3c5dcfe7a6212e3ae03a57b7a2f66626.png

?

-----KeyBasedFileProcessor类:------

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

?

?

?

原文:http://nj-apple-tree.iteye.com/blog/2299614


http://lihuaxi.xjx100.cn/news/236470.html

相关文章

浅谈网络协议(四) IP的由来--DHCP与PXE

2019独角兽企业重金招聘Python工程师标准>>> 上一节说过&#xff0c;IP就是一台计算机的通讯地址&#xff0c;要和其他机器通讯&#xff0c;就需要一个通讯地址&#xff0c;就要给网卡配置这么一个地址。 配置 IP 那如何配置呢&#xff1f;可以使用 ifconfig&#x…

谈谈对BPM的理解

BPM的产生缘由 近年来&#xff0c;随着计算机技术的发展和互联网时代的到来&#xff0c;我们已经进入了信息时代&#xff0c;也称为数字化时代&#xff0c;在这数字化的时代里&#xff0c;企业的经营管理都受到了极大的挑战。从上世纪90年代起至今&#xff0c;企业的信息化工作…

java画蝴蝶_怎样用java语言编写蝴蝶结

展开全部按照你的要求编写的Java程序如下:(蝴蝶结形九62616964757a686964616fe58685e5aeb931333335336436九乘法表)public class GG {public static void main(String[] args) {for(int i1;i<9;i){for(int j1;j<i;j){System.out.print(i"*"j""i*j&qu…

初学索引和锁

2019独角兽企业重金招聘Python工程师标准>>> 前言 索引和锁在数据库中可以说是非常重要的知识点了&#xff0c;在面试中也会经常会被问到的。 本文力求简单讲清每个知识点&#xff0c;希望大家看完能有所收获 声明&#xff1a;如果没有说明具体的数据库和存储引擎&a…

CYQ学习主要摘要4

http://www.cnblogs.com/cyq1162/archive/2010/11/03/1867642.html Xml的处理 http://www.cnblogs.com/cyq1162/archive/2010/11/23/1885299.html 3.5版本 http://www.cnblogs.com/cyq1162/archive/2010/12/27/1918317.html 无线分级 http://www.cnblogs.com/cyq1162/archive/2…

搜索引擎的时效性需求满足

“全、准、快、新”是搜索引擎的四大评价指标&#xff0c;其中的“新”指代的就是时效性。随着互联网的发展&#xff0c;网民对信息获取的时效性要求越来越高。同时越来越多的网民更多的参与到创造互联网内容中去&#xff0c;互联网上的新信息也在迅速的膨胀。这都给搜索引擎时…

从0到1,苏宁API网关的演进之路

http://www.infoq.com/cn/articles/suning-11-11-api-gateway?utm_campaigninfoq_content&utm_sourceinfoq&utm_mediumfeed&utm_termglobal 2012年&#xff0c;在开放云融推动各产业全面发展的大背景下&#xff0c;苏宁API对外开放。基于苏宁各内部业务系统的资源…

java 自带thread分析工具_java自带的jvm分析工具

这段时间觉得很有必要对java的内存分析工具进行熟悉&#xff0c;这样以后出现机器负载较高&#xff0c;或者反应很慢的时候&#xff0c;我就可以查找原因了。上网搜了搜&#xff0c;发现下面这些是比较常用的&#xff0c;然后我在机器上试试了&#xff0c;把结果也贴出来哈。1.…