文件的加密(gpg与openssl)
gpg,非对称式加密,产生一个公钥和一个私钥。公钥常用来别人给我们信息加密,我们用私钥解密。加密后的文件除了我们没有人能够解开(包括加密人)。
一、创建密钥:
gpg --gen-key
[root@user1 ~]# gpg --gen-key
提示:我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
这个过程可能很长。
二、查看私钥
$ gpg --list-secret-key
[root@user1 ~]# gpg --list-secret-key
三、查看公钥
[root@user1 ~]# gpg --list-public-keys
四、公钥删除
$ gpg --delete-keys 标识名
[root@user1 ~]# gpg --delete-keys user1
五、私钥删除
$ gpg --delete-secret-keys 标识名
[root@user1 ~]# gpg --delete-secret-keys user1
六、公钥导出
$ gpg --export 标识名 > 导出文件名(多以asc为文件后缀)
[root@user1 ~]# gpg --export user1 > user.asc
[root@user1 ~]# vim user.asc
七、私钥导出
$ gpg --export-secret-key 标识名 > 导出文件名(多以asc为文件后缀)
[root@user1 ~]# gpg --export-secret-key user1 >user1.private.key.asc
[root@user1 ~]# vim user1.private.key.asc
八、密钥导入
$ gpg --import 密钥文件
在另一太电脑导入
[root@user2 ~]# gpg --import user.asc
[root@user2 ~]# gpg --list-public-keys
九、加密文件
$ gpg --recipient 标识名 --encrypt 文件名
[root@user2 ~]# gpg --recipient user1 --encrypt wordpress_v3.0.5-zh_CN.zip
十、解密文件
在自己的机器上解密
$ gpg --output 新文件名 --decrypt 加密文件名
[root@user1 ~]# gpg --output w.zip --decrypt wordpress_v3.0.5-zh_CN.zip.gpg
十一、修改密钥
$ gpg --edit-key 标识名
[root@user1 ~]# gpg --edit-key user1
openssl支持的加密算法很多,包括:bf,cast,des,des3,idea,rc2,rc5等及以上各种的变体,具体可参阅相关文档。
1.加密一个文件:
[root@user1 ~]# openssl enc -des -e -a -in install.log -out install.log.des
输入密码之后,就会生成install.log.des文件,这个文件名是自己指定的,可以随意写。
其中:
enc表明你打算使用某个算法
-des是具体使用的某个算法
-e 表明要加密
-a 同样是使用ASCII进行编码
-in 要加密的文件名字
-out 加密后的文件名字
把生成的文件传到另一台机器后,执行如下命令进行解密
[root@user2 ~]# openssl enc -des -d -a -in install.log.des -out f1
输入口令后,就可以得到解密后的文件了。
其中
-d表明要进行解密
转载于:https://blog.51cto.com/zhoulinjun/1213383