一:背景介绍:

GPG这个加密解密工具其实用的很少,但在传统企业像银行系统与其交互上他们很多数据文件都是用gpg加密存储,防止数据外泄;(为了避开政府监视,开发了加密软件PGP。这个软件非常好用,迅速流传开来,成了许多程序员的必备工具。但是,它是商业软件,不能自由使用。所以,自由软件基金会决定,开发一个PGP的替代品,取名为GnuPG。这就是GPG的由来。)

最近在对接民生银行的系统需求发现他们交互文件数据都是用GPG工具加密的,也就意味着你需要用GPG工具解密;

二:GPG安装

Mac系统:brew install gpg  即可安装

三:GPG生成密钥

1:gpg --help

2:gpg --gen-key  回车

gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc.
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.

  请选择您要使用的密钥种类:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (仅用于签名) 
   (4) RSA (仅用于签名)
  您的选择?1 (第一段是版权声明,可自行选择加密算法。默认选择第一个选项,表示加密和签名都使用RSA算法。)回车

RSA 密钥长度应在 1024 位与 4096 位之间。
  您想要用多大的密钥尺寸?(2048)   ---选择密码的位数,位数越大,越安全,但速度越慢

请设定这把密钥的有效期限。
   0 = 密钥永不过期
   <n> = 密钥在 n 天后过期
   <n>w = 密钥在 n 周后过期
   <n>m = 密钥在 n 月后过期
   <n>y = 密钥在 n 年后过期
  密钥的有效期限是?(0)    ---根据自己的需要选择对应的有效时间,如果想设置在2年后过期,那么应该输入2y

以上正确吗?(y/n)    ---输入y,系统就要求你提供个人信息。

您需要一个用户标识来辨识您的密钥;本软件会用真实姓名、注释和电子邮件地址组合成用户标识,如下所示:
  "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

  真实姓名:乐杨俊  ---真实姓名"填入你姓名的英文写法
  电子邮件地址:leyangjun@xx.com  ---电子邮件地址"填入你的邮件地址
  注释:乐杨俊-测试gpg     ---只是注释而已,可以空着。

然后,你的"用户ID"生成了。

您选定了这个用户标识:
   "乐杨俊 <leyangjun@xx.com>"

我的"真实姓名"是乐杨俊,"电子邮件地址"是leyangjun@xx.com,所以我的"用户ID"就是"乐杨俊 <leyangjun@xx.com>"。接下来系统会让你最后确认一次。

更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?  ---输入O表示"确定"。

接着,系统会让你设定一个私钥的密码。这是为了防止误操作,或者系统被侵入时有人擅自动用私钥。

您需要一个密码来保护您的私钥:---输入两次用于访问私钥的密码,紧记不能公开或丢失,不设置一路回车就行

回车后,会看到一堆字节信息

随后会看到你的公、私钥已经生成并签名

四:gpg常用命令

1:可以查看公钥:gpg --list-key

2:导出公钥并生成可视的字符:gpg -a -o --export  meitu.pubkey   (-a表示导出明文,否则是二进制文件内容)

3:加密文件:gpg -e -r leyangjun@xx.com leyangjun_test.txt  (-r是指定对应公钥加密,如果有多个公钥的情况下可以指定对应加密,加密完后再当前目录下会有个对应的leyangjun_test.txt.gpg文件)

4:解密文件:gpg -d leyangjun_test.txt.gpg > ./leyangjun_test.txt.gpg

5:导入公钥:gpg --import /Users/leyangjun/Documents/pubkey.key (文件地址直接导入即可)

6:查找有多少私钥:gpg --list-secret-key

7:列出秘钥指纹:gpg --list-secret-keys --fingerprint

8:导出公钥:gpg -o leyangjun_public.key --export 0C3DA80F7AD5EA0D45FADFC8B15E62694B634B49  (后面长串字符是对应钥匙指纹)

9:导出私钥:gpg -a -o leyangjun_private.key --export-secret-keys 0C3DA80F7AD5EA0D45FADFC8B15E62694B634B49

10:删除秘钥:gpg --delete-secret-keys 4ED710330228DD2E65322722537B24B55C35B439
11:删除公钥:gpg --delete-keys 4ED710330228DD2E65322722537B24B55C35B439 (需要先删除私钥能后在删除公钥)

gpg安装(加密解密)相关推荐

  1. 基于JAVA实现GPG加密解密(Windows+java两种方式)

    最近业务上遇到一个很棘手的问题,客户要求在调用他们的时候要对报文进行加密解密,然后方式就是用pgp的方式进行加密解密,相信有很多小伙伴和我一样刚开始看到这个pgp(或者gpg)加密都是一脸懵,啥玩意儿 ...

  2. Linux下使用GPG(GnuPG)加密及解密文件

    文章目录 Linux下使用GPG(GnuPG)加密及解密文件 1. 简介 2.环境及版本 3.GPG公钥生成 4.查看公钥 5.查看私钥 6.导出公钥 7.导出私钥 8.加密文件 本机加密 其他电脑加 ...

  3. GPG加密解密与实际应用

    主要内容:GPG加密解密的基本操作与少量应用. 简介 安装 生成密钥操作过程 对密钥的一些操作 查看密钥 导出密钥 导入密钥 注销密钥 删除密钥 编辑密钥 签名 修改密码 等-- 加密文件 解密文件 ...

  4. linux加密压缩文件gpg,linux文件--GPG 加密解密

    引用 # gpg --gen-key gpg (GnuPG) 1.4.5; Copyright (C) 2006 Free Software Foundation, Inc. This program ...

  5. dsa签名 linux_linux SElinux防护 加密解密 gpg签名与认证

    SElinux Security-Enhanced Linux 由美国国家安全局主导开发 一套强化linux安全的mac扩展模块 selinux的运作机制: 集成到linux内核上(2.6及以上) 操 ...

  6. IonCube Loaders 在Linux系统中的安装(PHP加密/解密工具)

    IonCube是加密/解密工具用于使我们的PHP应用程序能够保护数据安全. 它也可以限制未经授权的PHP应用程序执行. 它还帮助加快页面响应速度. IonCube Loaders用于在网络服务器上运行 ...

  7. Crypto++安装和简单使用RSA加密解密

    Crypto++安装和简单使用 一.前言 二.下载 三.安装 四.使用 五.RSA加密/解密 (一)生成密钥/公钥 (二)OAEP加密/解密 六.RSA加密/解密的源码 一.前言 能搜索这个的估计都知 ...

  8. 前后端加密解密 【JS加密模块(md5 、 crypto 、 crypto-js、jsencrypt) python RSA加密解密(pycryptodome )模块安装与使用】

    JS加密模块[js-md5(AES) . crypto (AES). crypto-js().jsencrypt(非对称加密.RSA)] 一.安装 npm install js-md5 npm ins ...

  9. 通过GPG非对称加密工具验证ECharts发布版本实例演示,win10下Gnu Privacy Guard工具的安装和使用方法

    GPG 验证 ECharts 发布版本实例演示 第一章:Gpg 工具的安装 ① Gpg 工具的下载 ② Gpg windows 版 Gpg4win 的安装 ③ Gpg 安装是否成功状态检测 第二章:使 ...

最新文章

  1. Linux(Centos)之安装Java JDK及注意事项
  2. Linq之延迟加载特性
  3. SQL Server数据库损坏、检测以及简单的修复办法
  4. 区块链与边缘计算(2)功能介绍
  5. 第六次的服务端课程:JDBC,数据源配置
  6. 536. Construct Binary Tree from String 从括号字符串中构建二叉树
  7. TinyFrame升级之五:全局缓存的设计及实现
  8. mysql的日志迁移到mango_mysql 向mongo迁移备忘
  9. 如何给页面加上loding_excel打印区域页面设置
  10. 【代码源 Div1 - 101】#61. 二分答案(贪心)
  11. 由《30天自制操作系统》引发的漫画创作
  12. 数据可视化之美:桑基图的前世今生
  13. [dp]HDOJ4960 Another OCD Patient
  14. 算术右移与逻辑右移的区别
  15. 翟佳:高可用、强一致、低延迟——BookKeeper的存储实现
  16. 法力无边的stage-0
  17. Node.js 网站内容抓取及Mysql存取Demo
  18. 基于百度飞桨的单/多镜头行人追踪(非官方Baseline)
  19. 在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和
  20. 49个终身受用的世界顶级思维(收藏)

热门文章

  1. Tuxera NTFS2023Mac电脑免费U盘硬盘读写工具
  2. input readonly 属性
  3. tinymce系列(三) tinymce 常用API介绍
  4. STDOUT和STDERR,以及它们的重定向
  5. React + Typescript领域初学者的常见问题和技巧
  6. STM32-定时器详解
  7. 从“青年创业基金”说起
  8. HTC董事长称考虑收购一套移动操作系统
  9. 什么是用户态和内核态?
  10. 翻转内衬法用于供水管道修复浅析