gpg数据加密解密实例

作者: Aubin | 来源:发表于2017-09-08 11:54 被阅读42次

公钥加密也称为非对称加密,公钥是成对生成的。服务器将自己的公钥公开任何主机都可以得到此公钥,私钥只能自己保存。主机使用服务器的公钥对数据进行加密,然后将数据发送给服务器,此时的数据就只有服务器的私钥可以解密。这样即使别人窃取来了数据没有私钥也无法对数据进行解密。

实验场景:CentOS7的passwd文件需要通过公网传送给CentOS6服务器,如何保证passwd文件不被公网上的恶意用户窃取?公钥加密就是一个比较好的办法。
CentOS7使用CentOS6的公钥将passwd文件进行加密,加密后的数据只有CentOS6的私钥可以界面,而拥有私钥的也只有CentOS6自己。这样即使文件在公网上恶意用户窃取也无法进行解密,保障了数据通信的安全。
实验说明:在实验当中全部使用内网环境模拟数据在公网的传输。

一、公钥的创建

分别在CentOS7与CentOS6上创建各自的公钥与私钥
使用gpg --gen-key创建公钥与私钥。创建过程中会提示你选择各种参数。我在下图中都做了详解
CentOS6与CentOS7的创建方式是一样的,所以在两边用一样的方式不一样的名称创建两个不同的密钥对。


二、分别查看CentOS6与CentOS7中生成的公钥私钥

gpg --list-key可以查看当前主机的所有公钥信息,包括自己创建的公钥,与导入的公钥。

CentOS6 CentOS7

三、发送公钥

将CentOS6的中的公钥使用scp命令复制到CentOS7中

#centos6
[root@CentOS6 /]$ gpg -a --export -o centos6.key        #导出centos6的公钥
[root@CentOS6 /]$ scp centos6.key 10.0.0.57:/app        #将centos6的公钥复制一份到centos7中

在centos7中导入centos6发来的公钥

#centos7
[root@CentOS7 /]$ gpg --import /app/centos6.key 
[root@CentOS7 /]$ gpg: key 1E6D6348: public key "centos6" imported
[root@CentOS7 /]$ gpg: Total number processed: 1
[root@CentOS7 /]$ gpg:               imported: 1  (RSA: 1)

查看已经导入的公钥信息,上面那个名为cento7的公钥信息,刚刚本机创建的公钥。下面centos6时导入后的公钥信息。



四、加密文件

使用gpg -e -r centos6命令对指定的文件进行加密, 随后系统会询问你是否使用这个公钥加密?输入y即可。加密完成后会在源文件的目录下有一个同名以gpg结尾的文件,就是加密完成的文件。你可以使用cat命令查看此文件是一堆乱码。
使用centos6的公钥加密的文件,只能有cento6的私钥解密此文件。而只有centos6自己才有私钥,所以即使别人截获此文件也是无法解密的。

#centos7
[root@CentOS6 /]$ gpg -e -r centos6 /etc/passwd        #用centos6的公钥信息加密passwd文件
[root@CentOS6 /]$ Use this key anyway? (y/N) y         #系统会会询问你是否使用这个公钥加密,y
[root@CentOS6 /]$ ls /etc/passwd.gpg                   #加密完成后的文件
[root@CentOS6 /]$ scp /etc/passwd.gpg 10.0.0.57:/app   #将加密后的文件传复制到centos6中

五、解密文件

#centos6
[root@CentOS6 /]$ gpg -d /app/passwd.gpg                    #用自己的私钥解密加密文件,默认输出到屏幕
[root@CentOS6 /]$ gpg -o /app/passwd -d /app/passwd.gpg     #用私钥解密并输出到文件中
gpg: encrypted with 1024-bit RSA key, ID D0C0C3D0, created 2017-09-08
      "centos6"

六、查看文件

查看文件可以正常显示

相关文章

  • gpg数据加密解密实例

    公钥加密也称为非对称加密,公钥是成对生成的。服务器将自己的公钥公开任何主机都可以得到此公钥,私钥只能自己保存。主机...

  • 加密

    对称加密 加密一个文件 到192.168.75.5的主机上解密passwd.gpg文件 hash 算法保证数据的完...

  • 2018-01-13网络安全基础知识及私有CA

    LInux上的加解密工具:OpenSSL,GPG(pgp协议) 加密算法和协议:对称加密:加密和解密使用同一个密钥...

  • GPG加密和解密

    Mac安装GPG命令 brew install gnupg其他系统请参考#GPG命令 创建密钥 gpg --gen...

  • 2.8 加密工具与散列

    《Linux Shell 脚本攻略(第 2 版)》读书笔记 crypt 加密文件 解密文件 gpg(GNU 隐私保...

  • 前后端API交互数据加密——AES与RSA混合加密完整实例

    RSA加密、解密、签名、验签的原理及方法 前后端API交互数据加密——AES与RSA混合加密完整实例 看完这篇文章...

  • 前后端数据交互加密AES+RSA

    附件下载:前后端数据交互加密实例.zip 简单介绍一下AES和RSA AES:对称加解密,加密解密使用同一个秘钥。...

  • JAVA加解密11-对称加密算法-DES以及DESede算法

    一、简述对称加密算法就是能将数据加解密。加密的时候用密钥对数据进行加密,解密的时候使用同样的密钥对数据进行解密。D...

  • 非对称加密简单原理,Base64加密

    - 公钥加密数据可以用私钥解密,私钥加密数据可以用公钥解密 加密简单原理:加密文字:110公钥4加密算法:原文每位...

  • 加密

    AES 加密 密钥生成 数据填充至16的倍数 AES 加密 BASE64 加密 解密 BASE64 解密 AES ...

网友评论

    本文标题:gpg数据加密解密实例

    本文链接:https://www.haomeiwen.com/subject/dxjgjxtx.html