八、GnuPG对数据加密解密

gpg主要用来保证数据的完整性

环境:station2.kvm.com 192.168.32.32

用户:netsword zhxiaoyu

1、生成公私钥

[netsword@station2 .gnupg]$ gpg --gen-key      #输入信息,默认即可

请选择您要使用的密钥种类:

   (1) RSA and RSA (default)

   (2) DSA and Elgamal

   (3) DSA (仅用于签名)

   (4) RSA (仅用于签名)

您的选择?

RSA 密钥长度应在 1024 位与 4096 位之间。

您想要用多大的密钥尺寸?(2048)

您所要求的密钥尺寸是 2048

请设定这把密钥的有效期限。

         0 = 密钥永不过期

      <n>  = 密钥在 n 天后过期

      <n>w = 密钥在 n 周后过期

      <n>m = 密钥在 n 月后过期

      <n>y = 密钥在 n 年后过期

密钥的有效期限是?(0)

密钥永远不会过期

以上正确吗?(y/n)y

真实姓名:netsword

电子邮件地址:netsword@stati6.kvm.com

注释:

您选定了这个用户标识:

    “netsword <netsword@stati6.kvm.com>”

更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)o

您需要一个密码来保护您的私钥。

[netsword@station2 .gnupg]$ gpg --list-keys          #显示公钥

[netsword@station2 .gnupg]$ gpg --list-secret-keys   #显示私钥

[zhxiaoyud@station2 .gnupg]$ gpg --gen-key         #生成zhxiaoyu的公钥 

2、导出、导入公钥

[netsword@station2 .gnupg]$ gpg --export -a netsword >netsword.key

#导出netsword的公钥,要指定用户信息

[zhxiaoyud@station2 .gnupg]$ gpg --export -a zhxiaoyu >zhxiaoyu.key  

#导出zhxiaoyu的公钥

[netsword@station2 .gnupg]$ gpg --import zhxiaoyu.key 

#导入zhxiaoyu的公钥

[zhxiaoyud@station2 .gnupg]$ gpg --import netsowrd.key    

#导入netsword的公钥

3、利用公钥对文件加密、解密

[netsword@station2 .gnupg]$ gpg -ear zhxiaoyu  ~/message.txt --output /tmp/message.txt.asc

#加密文件  

[zhxiaoyud@station2 .gnupg]$ gpg --output ~/message.txt  -d /tmp/message.txt.asc 

#解密文件                                 

原文来自:http://www.linuxidc.com/Linux/2011-04/34690p2.htm