文档章节

使用 OpenSSL 对文件进行加密和解密

羊驼君
 羊驼君
发布于 2016/11/17 15:51
字数 714
阅读 943
收藏 38
点赞 2
评论 1

我们在平时的 Linux 运维管理的时候,经常会进行各种数据备份任务。将数据导出然后打包。通常在安全性要求比较高的环境下,我们可以借助 OpenSSL 工具对打包后的数据进行加密,这样能进一步的保障数据的安全性。

OpenSSL 使用密码方式加密或解密文件

1. 使用 openssl 加密一个文件 (data.zip 为原始文件,back.zip 为加密之后的文件)

# openssl enc -e -aes256 -in data.zip -out back.zip

解释: enc 表示对文件进行对称加密或解密, -e 表示对一个文件进行加密操作,-aes256 表示使用 aes256 算法进行加密,-in 表示需要被加密的文件,-out 表示加密之后生成的新文件。加密过程中会要求输入一个加密密码,重复输入两次即可完成对文件的加密

2. 使用 openssl 解密一个文件 (back.zip 为加密的文件,data.zip 为解密之后的文件)

# openssl enc -d -aes256 -in back.zip -out data.zip

解释: enc 表示对文件进行对称加密或解密, -d 表示对文件进行解密操作,-aes256 表示使用 aes256 算法进行解密,-in 表示需要被解密的文件,-out 表示解密之后生成的新文件,解密一个文件的时候会要求输入加密文件时设置的密码才能进行解密。

OpenSSL 使用密钥方式加密或解密文件

1. 首先需要使用 openssl 生成一个 2048 位的密钥 rsa.key 文件 (rsa.key 密钥文件中包含了私钥和公钥)

# openssl genrsa -out rsa.key 2048

2. 然后从 rsa.key 密钥文件中提取出公钥 pub.key

# openssl rsa -in rsa.key -pubout -out pub.key

3. 使用 pub.key 公钥加密一个文件 (data.zip 为原始文件,back.zip 为加密之后的文件)

# openssl rsautl -encrypt -inkey pub.key -pubin -in data.zip -out back.zip

4. 使用 rsa.key 私钥解密一个文件 (back.zip 为加密的文件,data.zip 为解密之后的文件)

# openssl rsautl -decrypt -inkey rsa.key -in back.zip -out data.zip

最后我们使用 OpenSSL 工具,对所有备份的数据文件进行加密存储,就能保证业务系统数据进行保护,防止泄漏。我们也可以使用其他的加密工具比如 GPG,VeraCrypt,trueCrypt 这些工具来对数据进行加密,但相比而言,使用 OpenSSL 更加方便,因为几乎每种 Linux 发行版都预装了 OpenSSL 软件包。

© 著作权归作者所有

共有 人打赏支持
羊驼君
粉丝 21
博文 3
码字总数 2357
作品 0
苏州
程序员
加载中

评论(1)

szf
szf
挺实用的!
Android外部文件加解密及应用实践

有这样的应用场景,当我们把一些重要文件放到asset文件夹中时,把.apk解压是可以直接拿到这个文件的,一些涉及到重要信息的文件我们并不想被反编译拿去,这个时候需要先对文件进行加密,然后...

C6C ⋅ 05/08 ⋅ 0

数字证书(1)

工作原理 数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)...

wbf961127 ⋅ 2017/11/08 ⋅ 0

基于HTTPS的安全机制的研究(一)

1 问题提出 现在广泛使用的HTTP协议采用的是一种明文传输的方式,因此通信双方的数据在网络上传输是十分不安全的。 2 解决方案 一种简单的解决方案就是对传输的数据进行加密处理。 目前流行的...

算法与编程之美 ⋅ 2016/12/09 ⋅ 4

openssl的应用及私有CA相关内容

以CA为核心生成的一套安全架构体系我们称之为: PKI:Public Key Infrastructure,公钥基础设施;其包含的内容: 1.签证机构:CA 2.证书注册机构:RA 3.证书吊销列表:CRL 4.证书存取库:CR ...

狐狸和鳄鱼 ⋅ 04/16 ⋅ 0

加密-数字信封-完整性验证-数字签名-数据加解密及身份认证流程

上回说到CA这个我们结合实例具体说下网络安全加密-数字信封-完整性验证-数字签名-数据加解密及身份认证流程: 在说之前我们首先要明白两个概念数字信封和签名 数字信封;明文用对称加密 私钥用...

日久不生情 ⋅ 2017/11/15 ⋅ 0

Spartacus勒索软件分析

     Spartacus是一个比较直接的勒索软件样本,使用了ShiOne,Blackheart等过去的一些勒索软件的技术和代码。但是该恶意软件与这些勒索软件和攻击单元没有直接的关系。   Satyr和Black...

嘶吼RoarTalk ⋅ 05/06 ⋅ 0

安卓应用安全指南 5.6.3 密码学 高级话题

5.6.3 密码学 高级话题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 5.6.3.1 选择加密方法 在上面的示例代码中,我们展示了三种加密...

apachecn_飞龙 ⋅ 04/05 ⋅ 0

http与https的区别我真的知道吗

之前每次看到类似“http与https的区别?”的问题时,都会自己思考一下答案,好像只是浅显地知道https比http安全,但究竟为什么更安全,却又似乎说不出个所以然,或者说很多细节地方自己都是不...

ScoutYin ⋅ 05/10 ⋅ 0

Linux云计算运维学习之SSH服务认证类型

  从SSH客户端来看,SSH服务主要提供两种级别的安全验证:   1、基于口令:   只要知道服务器的SSH连接账号和口令,就能通过客户端登录到远程主机。而联机过程中所有传输的数据都是加密...

zhouzhou2018 ⋅ 05/25 ⋅ 0

GlobeImposter勒索病毒技术分析报告

  背景   新年伊始,勒索病毒再度在国内传播肆虐,腾讯反病毒实验室近期接到多起客户遭受勒索软件攻击的反馈,通过跟进分析发现黑客使用的勒索病毒全部为GlobeImposter家族的勒索病毒,黑...

FreeBuf ⋅ 03/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

linux 安装docker

通过以下命令下载安装docker wget -qO- https://get.docker.com | sh 执行以上命令后输出以下内容说明安装成功,注意红框中的内容,docker安装成功后默认只有root能使用,红框中给出的提示是...

haoyuehong ⋅ 13分钟前 ⋅ 0

482. License Key Formatting - LeetCode

Question 482. License Key Formatting Solution 思路:字符串转化为char数组,从后遍历,如果是大写字母就转化为小写字母,如果是-就忽略,如果遍历了k个字符(排除-)就追加一个-。 Java实现...

yysue ⋅ 31分钟前 ⋅ 0

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 56分钟前 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 今天 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 今天 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 今天 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 今天 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 今天 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 今天 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部