加密是指对文件进行编码的过程,那样只有有权访问的人才可以访问文件。人类早在计算机还没有问世的时候就开始使用加密了。战争期间,人类会传输只有其部落或相关人员才能理解的某种信息。
Linux发行版提供了几个标准的加密/解密工具,它们有时候用起来很方便。本文就介绍了这样7个工具,并附以标准例子,帮助加密、解密及密码保护你的那些文件。
1. GnuPG
GnuPG的全称是GNU隐私保护(GNU Privacy Guard),常常被称为GPG,它结合了一组加密软件。它是由GNU项目用C编程语言编写的。最新的稳定版本是2.0.27。
在如今的大多数Linux发行版中,gnupg程序包都是默认随带的,所以万一它没有安装,你可以使用apt或yum从软件库来安装它。
$ sudo apt-get install gnupg # yum install gnupg
我们有一个文本文件(tecmint.txt)位于~/Desktop/Tecmint/,本文后面的几个例子将用到该文件。
在采取下一步之前,先查看该文本文件的内容。
$ cat ~/Desktop/Tecmint/tecmint.txt
查看文件内容
现在,使用gpg加密tecmint.txt文件。一旦你运行带-c选项(完全使用对称密码算法加密)的gpc命令,它会生成一个文件texmint.txt.gpg。你可以列出文件夹的内容,予以证实。
$ gpg -c ~/Desktop/Tecmint/tecmint.txt $ ls -l ~/Desktop/Tecmint
Linux下加密文件
注意:Paraphrase输入两次,对这个特定的文件进行加密。上述加密自动由CAST5加密算法完成。你可以指定不同的算法。
想查看提供的所有加密算法,你可以运行该命令。
$ gpg --version
查看加密算法
现在,如果你想解密上述加密文件,可以使用下面这个命令,但在我们开始解密之前,先要删除原始文件,即tecmint.txt,加密文件tecmint.txt.gpg则不要去动它。
$ rm ~/Desktop/Tecmint/tecmint.txt $ gpg ~/Desktop/Tecmint/tecmint.txt.gpg
Linux下解密文件
注意:出现提示时,你需要提供加密时输入的同一个密码才能解密。#p#
2. bcrypt
bcrypt是一种密钥导出函数,它基于Blowfish密码。自从被爆出密码算法可能被攻破时,Blowfish密码就不被推荐使用。
如果你还没有安装bcrypt,可以使用apt或yum命令安装所需的程序包。
$ sudo apt-get install bcrypt # yum install bcrypt
使用bcrypt加密文件。
$ bcrypt ~/Desktop/Tecmint/tecmint.txt
一旦你运行上述命令,新的文件名texmint.txt.bfe被创建,原始文件tecmint.txt被更换。
使用bcrypt解密文件。
$ bcrypt tecmint.txt.bfe
注意:bcrypt没有一种安全的加密机制,因而对它的支持至少在Debian Jessie上被禁用了。#p#
3. ccrypt
ccrypt是为了取代UNIX crypt而设计的,这个实用工具可用于文件和数据流加密及解密。它使用Rijndael密码。
如果你还没有安装ccrypt,可以使用apt或yum命令来安装它。
$ sudo apt-get install ccrypt # yum install ccrypt
使用ccrypt加密文件。它使用ccencrypt来加密、使用ccdecrypt来解密。一定要注意,加密时,原始文件(tecmint.txt)换成了tecmint.txt.cpt;解密时,加密文件(tecmint.txt.cpt)换成了原始文件(tecmint.txt)。你可以使用ls命令来予以核查。
加密文件。
$ ccencrypt ~/Desktop/Tecmint/tecmint.txt
解密文件。
$ decrypt ~/Desktop/Tecmint/tecmint.txt.cpt
提供加密时输入的同一个密码才能解密。
Linux下使用ccdecrypt解密文件。#p#
4. Zip
它是最著名的归档格式之一,名气实在太大了,以至于我们在日常的通信中通常把归档文件称为zip文件。它使用pkzip流密码算法。
如果你还没有安装zip,可以使用apt或yum命令来安装它。
$ sudo apt-get install zip # yum install zip
使用zip,创建加密的zip文件(几个文件组合在一起)。
$ zip --password mypassword tecmint.zip tecmint.txt tecmint1.1txt tecmint2.txt
加密Zip文件
这里,mypassword是用来加密文件所用的密码。创建的归档文件名称为tecmint.zip,压缩文件包括tecmint.txt、tecmint1.txt和tecmint2.txt。
使用unzip,解密密码保护的压缩文件。
$ unzip tecmint.zip
解密Zip文件
你需要提供加密时提供的同一个密码。#p#
5. Openssl
openssl是一个命令行加密工具包,可以用来加密文件及加密消息。
如果openssl之前还没有安装,你需要安装它。
$ sudo apt-get install openssl # yum install openssl
使用openssl加密,加密文件。
$ openssl enc -aes-256-cbc -in ~/Desktop/Tecmint/tecmint.txt -out ~/Desktop/Tecmint/tecmint.dat
使用Openssl,加密文件
上述命令中所用的每个选项解释如下。
•enc:加密
•-aes-256-cbc:所使用的算法
•-in:待加密文件的完整路径。
•-out:将被解密所在的完整路径。
使用openssl,解密文件。
$ openssl enc -aes-256-cbc -d -in ~/Desktop/Tecmint/tecmint.dat > ~/Desktop/Tecmint/tecmint1.txt
使用openssl,解密文件
#p#
6. 7-zip
大名鼎鼎的开源7-zip压缩工具用C++编写而成,能够压缩及解压缩大多数常见的归档文件格式。
如果你还没有安装7-zip,需要使用apt或yum命令来安装它。
$ sudo apt-get install p7zip-full # yum install p7zip-full
使用7-zip压缩文件,并加密文件。
$ 7za a -tzip -p -mem=AES256 tecmint.zip tecmint.txt tecmint1.txt
使用7-Zip,压缩文件
使用7-zip,解压缩加密的zip文件。
$ 7za e tecmint.zip
使用7-Zip,解密文件
注意:出现提示时,需要在整个加密及解密过程中提供同一个密码。
上述所有这些工具都基于命令。Nautilus提供了一款基于图形用户界面(GUI)的加密工具,它可以帮助你使用图形化界面,加密/解密文件。#p#
7. Nautilus加密实用工具
下面介绍使用Ntuilus加密实用工具在GUI中加密文件的步骤。
在GUI中加密文件
1. 鼠标右击你想要加密的文件。
2. 选择压缩格式,并提供保存的位置。还要提供加密所需的密码。
使用Nautilus加密文件
3. 注意相关信息-加密的zip文件已成功创建。
加密的Zip文件确认
在GUI中解密文件
1. 试着在GUI中打开zip文件。请注意文件旁边的锁图标(LOCK-ICON)。它会提示输入密码,输入密码。
解密文件
2. 解密成功后,它会为你打开文件。
解密确认
英文:7 Tools to Encrypt/Decrypt and Password Protect Files in Linux