加密是指对文件进行编码的过程,那样只有有权访问的人才可以访问文件。人类早在计算机还没有问世的时候就开始使用加密了。战争期间,人类会传输只有其部落或相关人员才能理解的某种信息。

作者:布加迪/编译来源:51CTO.com|2015-04-27

09:18

加密是指对文件进行编码的过程,那样只有有权访问的人才可以访问文件。人类早在计算机还没有问世的时候就开始使用加密了。战争期间,人类会传输只有其部落或相关人员才能理解的某种信息。

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下解密文件

注意:出现提示时,你需要提供加密时输入的同一个密码才能解密。

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上被禁用了。

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解密文件。

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文件

你需要提供加密时提供的同一个密码。

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,解密文件

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)的加密工具,它可以帮助你使用图形化界面,加密/解密文件。

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

linux密码加密文件,Linux下加密/解密及用密码保护文件的七把利器相关推荐

  1. Linux下使用C语言查找一个文件夹下指定扩展名的所有文件

    最近在linux下要干点和c语言相关的任务,其中涉及使用C语言查找一个文件夹下指定扩展名的所有文件,我去开始在网上查找后粘贴后不能用,最后发现是windows下才能使用.最后找到了一篇不错的文章,ht ...

  2. 删除指定文件夹下的小于 4K的所用文件...

    删除指定文件夹下的小于 4K的所用文件... (记一次垃圾邮件的删除..) Const ForReading = 1, ForWriting = 2, ForAppending = 8 Const T ...

  3. PowerShell遍历文件夹下的子文件夹和文件

    PowerShell遍历文件夹下的子文件夹和文件是一件很容易的事儿.Get-ChildItem这个cmdlet就有一个recurse参数是用于遍历文件夹的. PowerShell中,使用Get-Chi ...

  4. 解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中

    解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中 引言 代码 得意 天天学习,好好向上 引言 各位朋友们好!最近遇到一些想要方便办 ...

  5. 解决linux使用yum安装新版JDK时,Java文件夹下没有lib、bin等文件,只有jre的问题

    最近在Linux上使用yum安装JDK时,发现/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-0.el8_3.x86_64/文件夹下尽然只有jre文件夹,其 ...

  6. linux 复制文件夹下的所有内容到目标文件夹

    在linux 下可以使用cp 命令去复制内容例如 #复制到目录文件夹* 和 . 代表目录下的所有文件 cp ~/temp/* ~/text/ cp ~/temp/. ~/text/ #复制到当前文件夹 ...

  7. linux打包运行python文件_Linux下安装pyinstaller用于将py文件打包生成一个可执行文件...

    安装使用流程 1. 首先给系统装个easy_install, 如果装了的可以跳过这步 到pypi官方网址 https://pypi.python.org/pypi/setuptools 去downlo ...

  8. linux密码验证机制,linux用户认证机制

    本文更正http://blog168.chinaunix.net/space.php?uid=20196318&do=blog&id=28742中出现的几个错误.错误1:对salt的描 ...

  9. 解码 解密微信电脑版image文件夹下缓存的用户图片 dat文件解码解密查看方法

    在检查微信缓存中"FileStorage"文件夹时发现了其目录下的"Image"文件夹,想到可能是使用过程中缓存的聊天图片等,但是打开文件夹发现都是dat文件, ...

最新文章

  1. Codeforces 903E Swapping Characters
  2. 运维企业专题(1)HTTP加速器——Varnish缓存机制前篇
  3. python起步输入-Python编程起步——输入与输出
  4. 笔记-信息系统安全管理-计算机信息安全保护等级划分准则
  5. Goodbye 2017 B
  6. python引用自己的文件的一切问题
  7. Unity Shader 之 透明效果
  8. C语言以字符形式读写文件
  9. 《领域驱动设计:软件核心复杂性应对之道(修订版)》—第2章 2.3节一个团队,一种语言...
  10. 【2019】微软Power BI 每月功能更新系列——Power BI 8月版本功能完整解读
  11. 3.26 文字工具的使用 [原创Ps教程]
  12. 数码相册项目(带密码登陆,代码已开源)
  13. 普通文档怎么换成php,wps只读文档怎么修改为普通文档
  14. python中average什么意思,Python3——numpy中mean和average的区别
  15. unable to load Private Key 6572:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\
  16. 用计算机模拟无理数e的计算,动图讲解自然常数e,无理数e带你发现数学之美!...
  17. Java 面试题及答案
  18. HTTP协议实现文件下载
  19. 2012美国总统竞选赞助数据分析项目学习
  20. 基于HTML+CSS+JavaScript仿瓜子二手车官网【学生网页设计作业源码】

热门文章

  1. pandas将dataframe原有的数据列名称转化为整数数值列名称(convert dataframe column labelsl into integers)
  2. pandas使用query函数查询dataframe指定数据列的内容(数值)不包含在特定列表中的数据行(not contain in list)
  3. R语言对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法、data.table、dplyr等方案
  4. pandas使用date_range函数按照指定的频率(freq)和指定的个数(periods)生成dataframe的时间格式数据列
  5. R语言ggplot2可视化并自定义配置图例的位置到可视化图像的顶部、配置折叠成两行显示图例、并添加图像形状的子图(ggplot2 legend in two rows with guides fill
  6. 为什么决策树相关的算法不需要标准化?那么那些模型需要标准化那?
  7. vim+快捷键+常用+命令
  8. 计算机领域收费sci期刊,计算机领域收费sci期刊 - 百度学术
  9. ggsurvplot图片输出
  10. RNA-Seq入门  如何跑通一个Rna-Seq流程