广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下文件加密的方法有哪些
  • 478
分享到

Linux下文件加密的方法有哪些

2023-06-27 14:06:18 478人浏览 安东尼
摘要

这篇文章主要介绍“linux下文件加密的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下文件加密的方法有哪些”文章能帮助大家解决问题。方法一:gzexe加密这种加密方式不是非常保

这篇文章主要介绍“linux下文件加密的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下文件加密的方法有哪些”文章能帮助大家解决问题。

Linux下文件加密的方法有哪些

方法一:gzexe加密

这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。 它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。示例如下:

[root@ipsan-node03 ~]# echo "hahahaha" > a.txt[root@ipsan-node03 ~]# cat a.txthahahaha[root@ipsan-node03 ~]# ls a.txta.txt[root@ipsan-node03 ~]# gzexe a.txta.txt:    22.2%[root@ipsan-node03 ~]# lsa.txt  a.txt~gzexe方法会把原来没有加密的文件a.txt备份为a.txt~ ,同时a.txt文件变成了加密文件(即变成了密文)[root@ipsan-node03 ~]# cat a.txt                                                                                          쏎?螳?p¹\v£?y«0       Fc?؃ÿE?0´ûmͰ:n$9hss4¢03  NeAEؚVºY&Macr;׻ѿ¾¹«*霻•+]ᚚaΜ                              Y$@:Wj%                                     .iȣ¬Z®:J ¦b¶mC# cat a.txt~hahahaha通常使用gzexe加密后,会将备份文件(这里指a.txt~)删除[root@ipsan-node03 ~]# lsa.txt  a.txt~[root@ipsan-node03 ~]# rm -f a.txt~[root@ipsan-node03 ~]# lsa.txt使用-d参数进行解压操作[root@ipsan-node03 ~]# gzexe --helpUsage: /usr/bin/gzexe [OPTioN] FILE...Rename each FILE with a compressed version of itself, renaming FILE to FILE~. -d             Decompress each FILE instead of compressing it.     --help     display this help and exit     --version  output version infORMation and exitReport bugs to .解压之后的文件a.txt内容就会还原回来,同时也会将之前的加密文件变成a.txt~,同样,通常也会删除这个a.txt~的备份文件[root@ipsan-node03 ~]# gzexe -d a.txt[root@ipsan-node03 ~]# lsa.txt  a.txt~[root@ipsan-node03 ~]# cat a.txthahahaha[root@ipsan-node03 ~]# cat a.txt~쏎?螳?p¹\v£?y«0       Fc?؃ÿE?0´ûmͰ:n$9hss4¢03  NeAEؚVºY¯׻ѿ¾¹«*霻•+]ᚚaΜ                              Y$@:Wj%                                     .iȣ¬Z®:J ¦b¶mC# rm -f a.txt~[root@ipsan-node03 ~]# lsa.txt

方法二:用tar命令 对文件加密压缩和解压

[root@ipsan-node03 ~]# lstest.txt[root@ipsan-node03 ~]# cat test.txthahahahaheiheihei 如下命令是对filename文件(test.txt)进行加密压缩,生成filename.des3加密压缩文件,123@123为加密的密码[root@ipsan-node03 ~]# tar -zcf - test.txt |openssl des3 -salt -k 123@123 | dd of=test.txt.des30+1 records in0+1 records out152 bytes (152 B) copied, 0.00333366 s, 45.6 kB/s---------------------------------------------------------------------------------------------------------也可以将/mnt目录下的所有文件全部加密压缩[root@ipsan-node03 ~]# tar -zcf - /mnt/* |openssl des3 -salt -k 123@123 | dd of=test.des3或者根据匹配规则进行加密压缩[root@ipsan-node03 ~]# tar -zcf - /mnt/pass_* |openssl des3 -salt -k 123@123 | dd of=test.des3--------------------------------------------------------------------------------------------------------- 通常加密后,会将源文件删除[root@ipsan-node03 ~]# lstest.txt  test.txt.des3[root@ipsan-node03 ~]# rm -f test.txt[root@ipsan-node03 ~]# cat test.txt.des3Salted__H¡+ZCHaW⃟׬                \bS©|>þHބ*?ܪ³?@ⴹ??qk)B㲏¡qk;ochl\cz-?/흯¤ވտ+¾´2AuK?픏̞t悐ah¤ºʀ?d 解压操作:[root@ipsan-node03 ~]# dd if=test.txt.des3 |openssl des3 -d -k 123@123 | tar zxf -0+1 records in0+1 records out152 bytes (152 B) copied, 4.5873e-05 s, 3.3 MB/s [root@ipsan-node03 ~]# lstest.txt  test.txt.des3[root@ipsan-node03 ~]# cat test.txthahahahaheiheihei 注意命令最后面的"-",它将释放所有文件,-k 123@123可以没有,没有时在解压时会提示输入密码

方法三:结合Tar和OpenSSL给文件和目录加密及解密

当有重要的敏感数据的时候,给文件和目录额外加一层保护是至关重要的,特别是当需要通过网络与他人传输数据的时候。基于这个原因,可以用到tar(Linux 的一个压缩打包工具)和OpenSSL来解决的方案。借助这两个工具,你真的可以毫不费力地创建和加密 tar 归档文件。下面介绍使用 OpenSSL创建和加密 tar 或 gz(gzip,另一种压缩文件)归档文件:牢记使用 OpenSSL 的常规方式是:# openssl command command-options arguments示例如下:[root@ipsan-node03 ~]# cd /mnt/[root@ipsan-node03 mnt]# ls[root@ipsan-node03 mnt]# echo "123" > a.txt[root@ipsan-node03 mnt]# echo "456" > b.txt[root@ipsan-node03 mnt]# echo "789" > c.txt[root@ipsan-node03 mnt]# lsa.txt  b.txt  c.txt现在要加密当前工作目录的内容(根据文件的大小,这可能需要一点时间)[root@ipsan-node03 mnt]# tar -czf - * | openssl enc -e -aes256 -out test.tar.gzenter aes-256-cbc encryption passWord:                          //假设这里设置的密码为123456Verifying - enter aes-256-cbc encryption password:上述命令的解释:enc 使用加密进行编码-e  用来加密输入文件的 enc 命令选项,这里是指前一个 tar 命令的输出-aes256 加密用的算法-out 用于指定输出文件名的 enc 命令选项,这里文件名是test.tar.gz[root@ipsan-node03 mnt]# lsa.txt  b.txt  c.txt  test.tar.gz[root@ipsan-node03 mnt]# rm -rf a.txt[root@ipsan-node03 mnt]# rm -rf b.txt[root@ipsan-node03 mnt]# rm -rf c.txt[root@ipsan-node03 mnt]# lstest.tar.gz对于上面加密后的tar包直接解压肯定是不行的![root@ipsan-node03 mnt]# tar -zvxf test.tar.gzgzip: stdin: not in gzip formattar: Child returned status 1tar: Error is not recoverable: exiting now要解密上述tar归档内容,需要使用以下命令。[root@ipsan-node03 mnt]# openssl enc -d -aes256 -in test.tar.gz | tar xz -C /mnt/enter aes-256-cbc decryption password:[root@ipsan-node03 mnt]# lsa.txt  b.txt  c.txt  test.tar.gz上述命令的解释:-d  用于解密文件-C  将加压后的文件提取到目标目录下当你在本地网络或因特网工作的时候,你可以随时通过加密来保护你和他人共享的重要文本或文件,这有助于降低将其暴露给恶意攻击者的风险。

方法四:shc加密(仅仅对shell脚本加密)

shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP、密码等不希望公开的问题。 如果你的shell脚本包含了敏感的口令或者其它重要信息, 而且你不希望用户通过ps -ef(查看系统每个进程的状态)捕获敏感信息. 你可以使用shc工具来给shell脚本增加一层额外的安全保护. shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接). 该工具能够很好的支持: 需要加密, 解密, 或者通过命令参数传递口令的环境. shc的官网下载地址:Http://www.datsi.fi.upm.es/~frosal/sources/ 安装方法:[root@ipsan-node03 ~]# cd /usr/local/src/[root@ipsan-node03 src]# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz[root@ipsan-node03 src]# tar -zvxf shc-3.8.9.tgz[root@ipsan-node03 src]# cd shc-3.8.9[root@ipsan-node03 shc-3.8.9]# mkdir -p /usr/local/man/man1这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装 [root@ipsan-node03 shc-3.8.9]# make install这是要回答yes或者y,不能直接回车,否则会报错 需要注意的是,sch只能能shell脚本文件进行加密,其他文件都不可以! sch加密使用方法:"-f"选项指定需要加密的程序[root@ipsan-node03 ~]# lstext.sh[root@ipsan-node03 ~]# cat text.sh#!/bin/bashecho "hahaha"[root@ipsan-node03 ~]# shc -r -f text.sh[root@ipsan-node03 ~]# lstext.sh  text.sh.x  text.sh.x.c 注意:要有-r选项, -f 后跟要加密的脚本名。运行后会生成两个文件,script-name.x 和 script-name.x.cscript-name.x是加密后的可执行的二进制文件../script-name.x 即可运行.script-name.x.c是生成script-name.x的原文件(C语言)[root@ipsan-node03 ~]# ./text.shhahaha[root@ipsan-node03 ~]# ./text.sh.xhahaha 通常从安全角度考虑:使用sch命令对shell脚本文件进行加密后,只需保留.x的二进制文件即可,其他两个文件均可以删除![root@ipsan-node03 ~]# lstext.sh  text.sh.x  text.sh.x.c[root@ipsan-node03 ~]# rm -rf text.sh[root@ipsan-node03 ~]# rm -rf text.sh.x.c[root@ipsan-node03 ~]# lstext.sh.x[root@ipsan-node03 ~]# ./text.sh.xhahaha 另外:shc还提供了一种设定有效执行期限的方法,可以首先使用shc将shell程序转化为二进制,并加上过期时间,如:[root@ipsan-node03 ~]# shc -e 28/02/2018 -m "this script file is about to expire" -v -r -f text.shshc shll=bashshc [-i]=-cshc [-x]=exec '%s' "$@"shc [-l]=shc opts=shc: cc  text.sh.x.c -o text.sh.xshc: strip text.sh.xshc: chmod Go-r text.sh.x[root@ipsan-node03 ~]# lstext.sh  text.sh.x  text.sh.x.c 解释:-e:指定过期时间为2018年2月28日-m:过期后打印出的信息;-v: verbose-r: 可在相同操作系统的不同主机上执行-f: 指定源shell 如果在过期后执行,则会有如下提示:[root@ipsan-node03 ~]# ./text.sh.x./text.sh.x: this script file is about to expire使用以上方法要注意,需防止用户更改系统时间,可以通过在程序中加入自动更新系统时间的命令来解决此问题!! sch的帮助命令:[root@ipsan-node03 ~]# shc -helpshc Version 3.8.9, Generic Script Compilershc Copyright (c) 1994-2012 Francisco Rosales shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script    -e %s  Expiration date in dd/mm/yyyy format [none]   (指定过期日期)   -m %s  Message to display upon expiration ["Please contact your provider"]  (指定过期提示的信息)   -f %s  File name of the script to compile   (指定要编译的shell的路径及文件名)   -i %s  Inline option for the shell interpreter i.e: -e   -x %s  eXec command, as a printf format i.e: exec('%s',@ARGV);   -l %s  Last shell option i.e: --   -r     Relax security. Make a redistributable binary   (可以相同操作系统的不同系统中执行)   -v     Verbose compilation    (编译的详细情况)   -D     Switch ON debug exec calls [OFF]   -T     Allow binary to be traceable [no]   -C     Display license and exit   -A     Display abstract and exit   -h     Display help and exit    Environment variables used:   Name    Default  Usage   CC      cc       C compiler command   CFLAGS     C compiler flags    Please consult the shc(1) man page. 说明:经测试,相同在操作系统,shc后的可执行二进制文件直接可以移植运行,但不同操作系统可能会出现问题,比如将上面的test.sh.x的二进制文件在Centos6.9上加密后移到redhat as5u4上不能运行,出现"Floating point exception"错误提示,但移到另一台CentOS6.9上直接运行没问题。

方法五: ZIP加密

1)文件加密 使用命令”zip -e filename.zip filename” 即可出现输入密码的提示,输入2次密码。 此文件即被加密解压时候是需要密码的

下面开始为test.txt文件进行加密[root@centos6-vm02 ~]# cat test.txtthis is a test!!![root@centos6-vm02 ~]# zip -e test.txt.zip test.txt         //如下进行加密操作时,需要输入两次密码Enter password:                          Verify password: adding: test.txt (stored 0%)[root@centos6-vm02 ~]# lstest.txt  test.txt.zip进行解压的时候,需要输入密码[root@centos6-vm02 ~]# rm -f test.txt[root@centos6-vm02 ~]# unzip test.txt.zipArcHive:  test.txt.zip[test.txt.zip] test.txt password:extracting: test.txt              [root@centos6-vm02 ~]# cat test.txtthis is a test!!!

2)文件夹加密 使用命令”zip -re dirname.zip dirname”即可出现输入密码的提示,输入2次密码。 此文件即被加密解压时候是需要密码的。

下面开始对目录进行加密[root@centos6-vm02 ~]# mkdir dirtest[root@centos6-vm02 ~]# cat dirtest/haha.txtthis is test of dir!!![root@centos6-vm02 ~]# zip -re dirtest.zip dirtestEnter password:Verify password: adding: dirtest/ (stored 0%) adding: dirtest/haha.txt (stored 0%)解压目录时需要输入密码[root@centos6-vm02 ~]# rm -rf dirtest[root@centos6-vm02 ~]# unzip dirtest.zipArchive:  dirtest.zip  creating: dirtest/[dirtest.zip] dirtest/haha.txt password:extracting: dirtest/haha.txt      [root@centos6-vm02 ~]# ls dirtesthaha.txt[root@centos6-vm02 ~]# cat dirtest/haha.txtthis is test of dir!!!

方法六:GnuPG加密

GnuPG的全称是GNU隐私保护(GNU Privacy Guard),常常被称为GPG,它结合了一组加密软件。它是由GNU项目用C编程语言编写的。最新的稳定版本是2.0.27。在如今的大多数Linux发行版中,gnupg程序包都是默认随带的,所以万一它没有安装,你可以使用apt或yum从软件库来安装它(yum install gnupg)。注意:gpg只能对文件进行加密,对目录则无法完成加密!

下面开始使用GnuPG方式对test.txt文件进行加密[root@centos6-vm02 ~]# cat test.txtthis is a test!!![root@centos6-vm02 ~]# gpg -c test.txt  can't connect to `/root/.gnupg/S.gpg-agent': No such file or directory         //这个信息可以忽略注意:如上加密的时候,会弹出来一个对话框,要求Paraphrase输入两次密码,对这个特定的文件进行加密。一旦运行带-c选项(完全使用对称密码算法加密)的gpc命令,它会生成一个文件.gpg文件。[root@centos6-vm02 ~]# ll test.txt*-rw-r--r--. 1 root root 18 Jan  4 10:08 test.txt-rw-r--r--. 1 root root 61 Jan  4 10:04 test.txt.gpg对文件进行加密后,最好将源文件删除!不要再保留源文件了![root@centos6-vm02 ~]# rm -f test.txt文件解密操作。注意出现Paraphrase提示时,需要提供加密时输入的同一个密码才能解密[root@centos6-vm02 ~]# gpg test.txt.gpg  gpg: 3DES encrypted datacan't connect to `/root/.gnupg/S.gpg-agent': No such file or directorygpg: encrypted with 1 passphrasegpg: WARNING: message was not integrity protected[root@centos6-vm02 ~]# ll test.txt*-rw-r--r--. 1 root root 18 Jan  4 10:08 test.txt-rw-r--r--. 1 root root 61 Jan  4 10:04 test.txt.gpg[root@centos6-vm02 ~]# cat test.txtthis is a test!!!

关于“Linux下文件加密的方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网操作系统频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Linux下文件加密的方法有哪些

本文链接: https://www.lsjlt.com/news/311322.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下文件加密的方法有哪些
    这篇文章主要介绍“Linux下文件加密的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux下文件加密的方法有哪些”文章能帮助大家解决问题。方法一:gzexe加密这种加密方式不是非常保...
    99+
    2023-06-27
  • Linux系统文件加密的方法有哪些
    本篇内容介绍了“Linux系统文件加密的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!方法一:gzexe加密 这种加密方...
    99+
    2023-06-28
  • PHP环境下文件加密的方法有哪些
    本篇内容介绍了“PHP环境下文件加密的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php文件加密操作流程  不同的PHP调试环境...
    99+
    2023-06-21
  • c语言加密文件的方法有哪些
    在C语言中,可以使用以下几种方法来加密文件:1. 替换字符:将文件中的每个字符替换为另一个字符,可以是按照一定的规则进行替换,也可以...
    99+
    2023-08-31
    c语言
  • Linux下常见的加密算法有哪些
    这篇文章将为大家详细讲解有关Linux下常见的加密算法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux系统中常见的加密算法有:对称加密;非对称加密;单向加密;SSL/TLS;秘钥交换等。1、...
    99+
    2023-06-27
  • 实现Linux数据加密的方法有哪些
    这篇文章主要介绍“实现Linux数据加密的方法有哪些”,在日常操作中,相信很多人在实现Linux数据加密的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”实现Linux数据加密的方法有哪些”的疑惑有所...
    99+
    2023-06-12
  • linux写文件的方法有哪些
    本文小编为大家详细介绍“linux写文件的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux写文件的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2023-03-10
    linux
  • laravel的加密方法有哪些
    这篇文章主要介绍laravel的加密方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!laravel的加密方法:1、利用Hash,语法“bcrypt('需要加密的文本')”或“Hash::mak...
    99+
    2023-06-22
  • java加密的方法有哪些
    Java中常用的加密方法有以下几种:1. 对称加密算法:例如DES(Data Encryption Standard)、AES(Ad...
    99+
    2023-08-25
    java
  • asp加密解密的方法有哪些
    ASP加密解密的方法有以下几种:1. 对称加密:使用相同的密钥对数据进行加密和解密,常见的对称加密算法有DES、3DES、AES等。...
    99+
    2023-06-03
    asp加密 asp
  • Linux下发送邮件的方法有哪些
    小编给大家分享一下Linux下发送邮件的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux 命令行发送邮件的 5 种方法当你需要在 shell 脚...
    99+
    2023-06-25
  • linux打开文件的方法有哪些
    在Linux中,可以使用以下几种方法来打开文件:1. 使用命令行工具(如cat、less、more、vi、vim等)打开文件,例如:...
    99+
    2023-08-29
    linux
  • Linux的命令行文件下载加速器有哪些
    这篇文章将为大家详细讲解有关Linux的命令行文件下载加速器有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装Axel(适用于Linux的命令行下载加速器)正如我们前面提到的,axel...
    99+
    2023-06-15
  • Linux下的文件链接有哪些
    本文小编为大家详细介绍“Linux下的文件链接有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux下的文件链接有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Linux 文件系统中有两种链接lin...
    99+
    2023-06-28
  • Linux下的特殊文件有哪些
    这篇文章跟大家分析一下“Linux下的特殊文件有哪些”。内容详细易懂,对“Linux下的特殊文件有哪些”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux下的特殊文件有哪些”...
    99+
    2023-06-28
  • Linux下软件包的安装方法有哪些
    今天小编给大家分享一下Linux下软件包的安装方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。源码包安装在Linux...
    99+
    2023-06-28
  • Linux拷贝文件夹的方法有哪些
    在Linux中,有多种方法可以拷贝文件夹。以下是其中一些常见的方法:1. 使用cp命令:cp -r 源文件夹 目标文件夹。这将递归地...
    99+
    2023-10-23
    Linux
  • Linux中有哪些创建文件的方法
    本篇文章为大家展示了Linux中有哪些创建文件的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在 Linux 上使用重定向符(>)创建一个文件标准重定向符允许我们创建一个 0KB 的空文件...
    99+
    2023-06-16
  • 云存储加密的方法有哪些
    云存储加密的方法有:1、对静态、动态数据进行加密,从而提高数据存储和传输的安全性;2、加密信息检索技术,对高词频数据进行加密,并利用线性搜索算法来提高检索效率,从而维护云存储数据安全;3、零知识数据加密,将用户加密密码存储在云端外部,从而提...
    99+
    2022-10-09
  • java常见的加密方法有哪些
    Java常见的加密方法有以下几种:1. 对称加密:对称加密算法使用相同的密钥对数据进行加密和解密,常见的对称加密算法有DES、3DE...
    99+
    2023-09-06
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作