首页 > 其他分享 >GPG实践

GPG实践

时间:2023-12-22 11:23:17浏览次数:31  
标签:文件 GPG 加密 -- gpg 实践 公钥 ID

目录

实践任务

参考相关教程, 给队友发送一封邮件,邮件内容为自己学号+对方学号,用对方公钥加密,然后对方用自己私钥解密。

实践过程

1.gpg的安装

安装指令:

Ubuntu下 : sudo apt-get install gnupg

OpenEuler下 : yum install gnupg

2.密钥的生成

生成密钥指令:

gpg --gen-key(gen为generate的缩写)

可以看到输入指令后出现了一堆文字,
其中gpg:key 476E7A1D2B87A349 marked as ultimately trusted的476E7A1D2B87A349 是"用户ID"的Hash字符串,可以用来替代"用户ID"。
(用户ID即前面输入的邮箱)

3.公钥的导出与导入

导出自己的公钥:gpg --armor --output [公钥文件名] --export [用户ID]

导入他人的公钥:gpg -- import [公钥文件]

本步骤就是把自己的公钥导出发给对方并将接收到的公钥文件导入

4.文件的加解密

加密文件:gpg --recipient [用户ID] --output [加密后的文件名] --encrypt [加密前的原文件名](用户id即接收方的id,用于选择加密公钥,demo_en.txt即加密后的文件)

解密文件:gpg --output [解密后文件名] --decrypt [加密文件]
(这里不用输用户id,因为解密一定用的是自己的私钥无需选择)

相关问题与解决方案

在实际操作过程中难免遇到各种奇奇怪怪的问题,以下我列举的是我遇到的:

  • 问题1:gpg安装失败

  • 解决方案:不同系统下安装命令不同,我用的明明是华为云下的OpenEuler系统但却使用Ubuntu的安装命令导致失败,改用yum命令安装即可

  • 问题2:接收到的对方的公钥导入失败

  • 解决方案:公钥文件最好直接原封不动完整发送,一旦有任何修改都可能出现问题,我们最初发送公钥时就想当然地把公钥文件开头的提示信息删去了,结果导致公钥识别失败,直到用完整公钥文件才成功

参考资料

标签:文件,GPG,加密,--,gpg,实践,公钥,ID
From: https://www.cnblogs.com/zzz12138/p/17920885.html

相关文章

  • keepass口令管理实践
    目录一、下载安装KeePassXC下载安装二、创建数据库三、新建密码条目一、下载安装KeePassXC下载老师给的参考文件主要针对Windows系统,因为我用的是MacOS系统,所以我查阅资料,最终选择下载KeepassXC。GettingKeePass-Downloads下拉找到KeePassXC(forLinux/MacOS)安装二、......
  • 前端 JS 安全对抗原理与实践
    作者:vivo互联网安全团队-LuoBingsong前端代码都是公开的,为了提高代码的破解成本、保证JS代码里的一些重要逻辑不被居心叵测的人利用,需要使用一些加密和混淆的防护手段。一、概念解析1.1什么是接口加密如今这个时代,数据已经变得越来越重要,网页和APP是主流的数据载体,如果......
  • 微服务广播模式实践:维护内存数据的缓存一致性
    本文分享自华为云社区《微服务广播模式实践》,作者:张俭。微服务广播模式,指的是在微服务多实例部署的场景下,将消息广播到多个微服务实例的一种模式。广播模式,一般用来维护微服务的内存数据,根据数据类型的不同,有助于解决两类问题。通常广播模式会使用支持发布订阅的消息中间件实......
  • 交个崔鹏题 OJ实践1-C /图的广度搜索/C++
    #include<iostream>#include<malloc.h>#include<queue>usingnamespacestd;#defineMAX10typedefintE;typedefstructNode{ intnextVex; structNode*next;}*node;structHeadNode{ Eelement; structNode*next;};typedefstruct......
  • 交个崔鹏题 OJ实践1-B
    #include<iostream>#include<malloc.h>#include<string.h>usingnamespacestd;#defineMAX10#defineINF0;typedefintE;typedefstructGraphMartix{ intvex,edge; intmarixWeight[MAX][MAX]; Edata[MAX];}*Graph;GraphCreate(intv)......
  • 交个崔鹏题 OJ实践1-A
    #include<iostream>#include<malloc.h>usingnamespacestd;typedefintE;typedefstructNode{ Eelement; structNode*next;}*node;voidinitList(nodend){nd->next=NULL;}voiddeleteDup(nodend){if(nd==NULL)return;......
  • TDengine 创始人陶建辉亮相 EDT2023 峰会,分享工业数据处理平台的创新实践
    随着大数据、物联网、人工智能、5G等数字技术的蓬勃发展,能源化工行业与新兴技术也在加速融合,推动着智能化、网格化和信息化进程的加速演进。在不稳定的外部环境下,数字化转型成为能源化工企业实现可持续发展的关键。12月14日,勤哲文化主办的“EDT2023中国能源化工数字科技峰会......
  • Aloudata 两项 Data Fabric 最佳实践获评 2023 信通院大数据“星河”案例标杆案例
    12 月 20 日,由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)组织的第七届大数据“星河(Galaxy)”案例征集结果正式发布。Aloudata (大应科技)脱颖而出,联合标杆客户招商银行共同申报两项 Data Fabric 最佳实践成果双双获评“标杆案例”。其中《招......
  • 蜘点云原生之 KubeSphere 落地实践过程
    公司平台介绍蜘点成立于2016年4月,致力于打造社区电商业务(解决最后3公里的配送问题)。当初通过自建直营渠道、自建仓库、自建大型社区仓、和采用加盟仓的方式,实现在社区的电商业务的发展,配送本地化。最多的时候在全国各个省都有分公司及下属子公司,在每个省都有省仓,在南北的主要......
  • 逻辑多租场景下,故障爆炸半径的控制实践
    本文分享自华为云社区《逻辑多租场景下,故障爆炸半径的控制实践》,作者:王福强陈子栋。背景某系统是一款华为自研的工具平台,可部署在公有云上,面向全球多项目、多客户提供服务。为了满足数据安全合规要求,并尽可能降低用户使用成本以及提升运维效率,整体上采用了混合多租的设计方案,逻......