0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GPG加密和解密文件在Linux中使用

jf_78858299 来源:运维漫谈 作者:运维漫谈 2023-05-12 14:47 次阅读

什么是 GPG?

GPG(GNU Privacy Guard)是一种免费的开源加密软件,用于保护计算机数据的机密性和完整性。

它使用非对称加密算法,也称为公钥加密算法,其中数据被加密和解密时使用不同的密钥。每个用户都有一个公钥和一个私钥,其中公钥可以与其他用户共享,而私钥应仅由拥有者保持安全。

GPG 被广泛用于 Linux 操作系统中的加密和签名,使用户可以轻松地保护他们的敏感数据并确保其完整性。

安装 GPG

在 Linux 中安装 GPG 可以使用系统的包管理器进行安装。不同的发行版有不同的包管理器,以下是一些常见的包管理器和对应的命令:

  • Ubuntu / Debian:sudo apt-get install gnupg
  • CentOS / RHEL:sudo yum install gnupg
  • Arch Linux:sudo pacman -S gnupg

图片

安装完成后,可以使用以下命令来验证 GPG 是否已成功安装:

gpg --version

图片

创建 GPG 密钥对

在使用 GPG 加密和解密文件之前,需要创建 GPG 密钥对。密钥对包括公钥和私钥,其中公钥可以与他人共享,而私钥应该保密。

生成 GPG 密钥对

要生成新的 GPG 密钥对,请使用以下命令:

gpg --gen-key

该命令将打开一个交互式窗口,其中会提示您输入以下信息

  • 选择密钥类型和密钥大小
  • 输入您的姓名和电子邮件地址
  • 输入您的密码短语

完成后,系统将生成您的密钥对并存储在默认的 GPG 密钥环中。

导出公钥

在将文件加密并发送给其他人之前,需要导出您的公钥,以便其他人可以使用该密钥来加密数据。要导出您的公钥,请使用以下命令:

gpg --export -a "Your Name" > publickey.asc

这将导出您的公钥并将其存储在名为 "publickey.asc" 的文件中。

加密和解密文件

现在,您已经创建了自己的 GPG 密钥对并导出了公钥,可以开始使用 GPG 加密和解密文件了。

加密文件

要使用 GPG 加密文件,请使用以下命令:

gpg --encrypt --recipient "Recipient Name" file.txt

该命令将使用接收者的公钥来加密文件并将其保存在同一目录下的 "file.txt.gpg" 中。

解密文件

要解密 GPG 加密的文件,请使用以下命令:

gpg --decrypt file.txt.gpg

该命令将提示您输入密码短语,然后解密文件并将其保存在同一目录下的 "file.txt" 中。

签名和验证文件

使用 GPG 还可以对文件进行签名和验证以确保其完整性和真实性。文件签名是通过使用发送者的私钥来生成的,而验证是通过使用发送者的公钥进行的。

签名文件

要使用 GPG 对文件进行签名,请使用以下命令:

gpg --sign file.txt

该命令将使用您的私钥对文件进行签名,并将签名保存在同一目录下的 "file.txt.sig" 中。

验证文件

要验证已签名的文件,请使用以下命令:

gpg --verify file.txt.sig file.txt

该命令将使用您的公钥来验证文件的签名,并输出签名信息和验证结果。

总结

使用 GPG 可以轻松地加密和解密文件以及对文件进行签名和验证,以确保其机密性、完整性和真实性。在 Linux 中,GPG 已成为保护计算机数据的主要工具之一,安装和使用也非常方便。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6514

    浏览量

    87610
  • 计算机
    +关注

    关注

    19

    文章

    6652

    浏览量

    84573
  • 开源
    +关注

    关注

    3

    文章

    2991

    浏览量

    41723
  • GPGPU
    +关注

    关注

    0

    文章

    23

    浏览量

    4807
收藏 人收藏

    评论

    相关推荐

    如何使用文件加密软件给文件加密

    需要加密文件,首先要在软件主窗口的文件浏览区中选择要加密文件,然后点击“数据加密”按钮。3、
    发表于 04-23 14:12

    CC2541上微信的加密和解密

    本帖最后由 冒汗的心情 于 2016-4-15 10:42 编辑 CC2541上微信的加密和解密CC2541连接微信有两种,一个是精简协议,一个是完整协议,精简协议没有身份验证和加解密,而且
    发表于 04-13 11:39

    超级秘密文件夹 V6.70官方版 - 文件加密软件

    级秘密文件夹的文件加密解密速度超快,无论多大的文件加密
    发表于 05-24 17:10

    labview加密解密文件

    本帖最后由 wang060102122 于 2017-9-8 14:50 编辑 论坛有位网友分布的加密和解密文件夹小程序,其中加密可以正常使用,
    发表于 09-08 14:45

    ZigBee的加密和解密介绍

    Center(信任中心)的概念,本章内容主要讲解的是TC的交换秘钥过程。1. 非对称加密算法。* 对称加密算法加密和解密时使用的是同一个
    发表于 04-17 18:12

    如何在Python中加密和解密数据

      加密是对信息进行编码的过程,只有授权方才能访问它。这一点至关重要,因为它可以安全地保护您不希望任何人看到或访问的数据。本文中,您将学习如何使用Python使用加密 库对文件或任何
    发表于 08-07 17:45

    如何使用CAAM加密/解密数据存储blobfile?

    /Decrypt Data Rev. 1 — 26 August 2021。我可以用kb_test加密和解密我的文件,但是如何存储blobfile 我不能把blobfile放在本地目录下,是否也可以把blobfile存放在key
    发表于 04-03 06:24

    IMXRT1170 Evk可以使用IEE进行加密和解密以读写外部闪存吗?

    我正在使用 IMXRT1170 Evk,我可以使用IEE(内联加密引擎)进行加密和解密以读写外部闪存吗?请找到下图,您能告诉我们安全 RM 手册的8.1.2 部分和 IMXRT1170RM 手册的7.10 部分有什么区别吗?
    发表于 04-03 09:14

    RT1020总线加密引擎是否加密和解密

    总线加密引擎是否加密和解密? 例如,如果我正在运行一个加密的 XIP 应用程序(来自串行或闪存),并且我希望它向闪存的不同区域写入一些内容,会发生什么?是写的时候
    发表于 05-10 06:10

    数据加密和解密,数据加密和解密原理是什么?

    数据加密和解密,数据加密和解密原理是什么? 随着Internet 的普及,大量的数据、文件在Internet 传送,因此在客观上就需要一种
    发表于 03-19 13:46 7051次阅读

    C语言教程之字符串加密和解密

    C语言教程之字符串加密和解密,很好的C语言资料,快来学习吧。
    发表于 04-25 15:49 0次下载

    Wannacry的逆向分析及加密文件解密

    Wannacry的逆向分析及加密文件解密
    发表于 09-07 09:59 10次下载
    Wannacry的逆向分析及<b class='flag-5'>加密</b><b class='flag-5'>文件</b>的<b class='flag-5'>解密</b>

    单片机的加密和解密

    由于工作的关系经常会编写单片机程序,也经常有客户抱怨还没有量产多久,程序就被破解了,于是不断的研究加密和解密技术,经过5年来不断的学习和同行的交流,目前的程序破解的可能性已经大大降低了,下面说下具体
    发表于 01-24 10:57 2次下载

    详细解读Go加密解密算法

    式:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。具体算法主要有DES算法,3DES算法,TDEA算法,Blowfish算法,
    的头像 发表于 07-29 17:37 2122次阅读

    AN5281_在STM32 MCU的受信任环境中使用OTFDEC进行加密/解密

    AN5281_在STM32 MCU的受信任环境中使用OTFDEC进行加密/解密
    发表于 11-21 08:11 0次下载
    AN5281_在STM32 MCU的受信任环境<b class='flag-5'>中使</b>用OTFDEC进行<b class='flag-5'>加密</b>/<b class='flag-5'>解密</b>