红帽企业版Linux默认带有两种不同的密码服务实施方法:
Gnu Privacy Guard 简称gpg ,可用来实现基于文件的加密:保证文件的完整性,加密电子邮件消息等.
opensll  提供了用于网络通讯(如启用了ssl的服务,以及ssh)的密码库.
下面来看看gpg是怎么实现基于文件的加密:
新建两个测试用户user1和user2.通常情况下user1写给user2的文档,邮件等如果让任何人拿到,内容都是可见的,如果是私密文档,后果可想而知...要如何做到,我写给user2的信息只能user2本人能读.就算其他人拿到也无法看到文档内容?
$gpg --gen-key     #user1用gpg生成密钥.加密算法,多少位的密钥,密钥期限全默认
用gpg实现文件的加密_gpg
如果你选择key的期限为0表示不过期,它会提醒你确认要创建?然后键入真实姓名,Email等,并设置密钥的使用密码.设置完成后,你可以敲击键盘,移动鼠标,gpg将根据你敲击键盘和移动鼠标的动作,获取随机数.这个动作是任何人都无法模拟的.你执行 cat /dev/random 然后移动鼠标就知道是怎么回事了.用gpg实现文件的加密_休闲_02
下面可以看到gpg密钥创建完成的信息.
用gpg实现文件的加密_职场_03
密钥文件在该用户家目录.gnupg目录下 secring.gpg就是user1的私钥.
用gpg实现文件的加密_休闲_04
$gpg --export -a user1 > user1.key       #导出公钥
$gpg --list-key                                           #列出所拥有的公钥(也可以用 $gpg -k )
$gpg -K                                                       # 列出私钥,这里是大k哦.
用gpg实现文件的加密_文件加密_05
user2的步骤一样,同样生成密钥,导出公钥.
用gpg实现文件的加密_职场_06
user2导出公钥
用gpg实现文件的加密_休闲_07
这用是导出的公钥
用gpg实现文件的加密_职场_08
下面是user1导入user2的公钥.用 gpg -k 查看,user2的公钥已经成功导入了.
用gpg实现文件的加密_gpg_09
下面我们将要传送的信函进行加密
$gpg -ear user2 message          #对message内容加密并指定只能user2这个人能查看
用gpg实现文件的加密_职场_10
加密后生成以.asc结尾的加密文件: message.asc 且内容是不可查看的
用gpg实现文件的加密_休闲_11
将加密文件移动到/tmp目录下改名为message,切换到user2用户来查看文件内容.
用gpg实现文件的加密_休闲_12
怎么回事?不是说只能user2可读取文件内容?怎么还是看不到?
用gpg实现文件的加密_文件加密_13
注意:我们还没有导入user1的公钥,自然无法查阅文件内容啦.现在可以了.
用gpg实现文件的加密_文件加密_14
$gpg -d /tmp/message      #解密文件内容,要求输入使用密钥的密码.用gpg实现文件的加密_休闲_15
看..终于看到真正的message的内容了
用gpg实现文件的加密_休闲_16
你可以将解密的文件内容重新导入到一个文件里便于自己查看.
用gpg实现文件的加密_文件加密_17