当前位置:首页 > 实用技巧 >

文件加密发送方法(发送的文件加密是怎么做到的)

来源:原点资讯(www.yd166.com)时间:2023-05-11 04:40:34作者:YD166手机阅读>>

小伙伴们知道,Spring Cloud Config 很早就提供了配置文件的加解密功能,并且支持对称加密和非对称加密两种不同的模式。Nacos 作为分布式配置中心 服务注册中心的合体,在配置文件加密这块一直差点意思,不过好在,如果你使用的 Nacos 版本大于 2.0.4 这个版本,那么现在也可以通过插件的方式来实现配置文件加密了。

1. 配置文件加密

松哥在之前的微服务视频中讲过,Spring Cloud Config 的对称加密和非对称加密,加密后的文件格式类似下面这样:

name={cipher}密文 password={cipher}密文

可以看到,在 Spring Cloud Config 中,对配置文件的加密是针对字段一个一个加密的。

而 Nacos 中的加密,则是对整个配置文件的内容进行加密,这点和 Spring Cloud Config 不同。

Nacos 中是通过 SPI 的机制抽象出加密和解密的操作,Nacos 默认提供 AES 对称加密的实现,不过用户也可以自定义加解密的实现方式。

在 Nacos 服务端启动的时候就会加载所有依赖的加解密算法,然后通过发布配置的 dataId 的前缀来进行匹配是否需要加解密和使用的加解密算法。

客户端发布的配置会在客户端通过 filter 完成加解密,也就是配置在传输过程中都是密文的,而控制台发布的配置会在服务端进行处理。

换言之,用了 Nacos 的配置文件加密插件之后,我们在 Nacos 管理页面上配置的配置文件,将会以加密的密文形式存储在数据库中,也会以密文的形式传输到客户端,然后在客户端自动完成解密操作。大致上就是这样一个过程。接下来我们就来看看具体的用法。

2. 实践

首先我们需要下载 nacos 源码进行编译,编译完成之后,需要将之安装到本地 Maven 仓库(因为编译加密插件需要用到 Nacos)。

首先 clone nacos 源码,如下:

git clone https://GitHub.com/alibaba/nacos.git

下载之后,个人建议用 IDEA 去编译,操作方便一些(因为后续还有其他操作)。

所以我们先用 IDEA 打开项目,确认项目所需依赖均已下载完毕,然后点击 install 按钮,将项目编译安装到本地仓库:

文件加密发送方法,发送的文件加密是怎么做到的(1)

接下来 clone 配置文件加解密的插件,如下:

git clone https://github.com/nacos-group/nacos-plugin.git

也用 IDEA 打开这个插件项目。这个插件编译要用到我们刚刚编译安装好的 Nacos,但是给的版本号不对,需要我们手动修改下,位置在 nacos-plugin/pom.xml,修改里边 Nacos 的版本号,从 2.2.0-SNAPSHOT 改为 2.2.0-BETA(我刚刚编译安装的是这个版本,大家根据自己的实际情况选择):

<alibaba-nacos.version>2.2.0-BETA</alibaba-nacos.version>

改完之后也执行 install 操作,将所有的插件都安装到本地仓库:

文件加密发送方法,发送的文件加密是怎么做到的(2)

接下来回到一开始的 Nacos 项目中,在 Nacos 项目中引入这个插件的依赖,建议在 config 模块中引入,如下图:

文件加密发送方法,发送的文件加密是怎么做到的(3)

引入内容如下:

<dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-aes-encryption-plugin</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>

加了这个依赖之后,我们的 Nacos 就具备了配置文件加密功能了。

现在我再改一下 console/src/main/resources/application.properties 配置文件,让 Nacos 将数据存入到本地数据库中,如下:

### Count of DB: db.num=1 Spring.sql.init.platform=mysql ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=123

配置完成后,本地提前准备好一个名为 nacos_config 的数据库,并执行 distribution/conf/mysql-schema.sql 脚本文件,将所需的表先创建出来。

接下来,为项目添加启动参数,我们以单机而不是集群的方式来启动 Nacos,如下:

文件加密发送方法,发送的文件加密是怎么做到的(4)

首页 123下一页

栏目热文

excel加密如何设置(excel密码解除教程)

excel加密如何设置(excel密码解除教程)

1. 2007excel表格怎么加密码保护使用“保护工作表”功能可以实现。1、点击“文件”菜单栏,选择“信息”,可以看到...

2023-05-11 05:02:44查看全文 >>

wps表格加密怎么设置(wps文件夹加密怎么设置)

wps表格加密怎么设置(wps文件夹加密怎么设置)

高增彬seo、sem、WPS 表格读完需要4分钟速读仅需 2 分钟在日常办公中,为了保护机密,防止机密泄露,用户可以对相...

2023-05-11 05:00:23查看全文 >>

文件打开加密怎么设置(文件加密最简单方法)

文件打开加密怎么设置(文件加密最简单方法)

文件夹怎么加密?如何给文件夹设置打开密码呢?有些文件可能因为隐私问题需要设置密码,那么如何给文件夹添加打开密码呢?下面请...

2023-05-11 04:29:09查看全文 >>

开启打印机(如何开启打印机)

开启打印机(如何开启打印机)

目前,普遍的办公智能打印主要是使用“刷卡”认证:员工用自己的胸卡在打印机前嘀一下,就能开启打印机将预先发送的文件打印。不...

2023-05-11 04:53:26查看全文 >>

怎样重启打印机(打印机怎么重置)

怎样重启打印机(打印机怎么重置)

在Windows 10环境下,如果出现随机打印空白页的现象,原因可能来自多个方面,要针对具体情况逐个进行排查,这样才有助...

2023-05-11 05:09:16查看全文 >>

怎样把文件加密(怎么在手机桌面上添加加密文件)

怎样把文件加密(怎么在手机桌面上添加加密文件)

在日常工作中,文件通常需要控制知悉范围,确保信息安全,可采取以下方式对文件进行简单处理,增强安全性。一、直接隐藏文件夹选...

2023-05-11 04:46:35查看全文 >>

教差生英语的方法

教差生英语的方法

期中考试成绩揭晓之后,部分同学英语成绩不及格,如何做才能让这些学生的英语成绩成功逆袭呢?小跨步,循序渐进学生成绩差,家长...

2023-05-11 05:05:48查看全文 >>

如何提高初三差生英语(初三差生如何快速提高英语成绩)

如何提高初三差生英语(初三差生如何快速提高英语成绩)

英语科目一直是很多学生学习中的一大困难,而对于初三学生来说,距离中考只有四十多天,要如何才能在短时间内提高英语成绩呢?特...

2023-05-11 04:43:15查看全文 >>

差生英语怎么快速提高(英语阅读理解小窍门)

差生英语怎么快速提高(英语阅读理解小窍门)

英文和中文一样,你必须先理解句子,文章的含义才能明白其中的道理,我明白这个道理是在高三最后的阶段。高一,高二都因为老师的...

2023-05-11 05:04:47查看全文 >>

怎么提高差生的英语(小学怎样让差生能够快速提升英语)

怎么提高差生的英语(小学怎样让差生能够快速提升英语)

总有专升本的同学说学英语太难了,自己的英语太差了。现在还能找不考英语的院校,但是等到专升本统考了,英语就无法逃避了,因此...

2023-05-11 04:38:37查看全文 >>

文档排行