Sharding-jdbc数据加解密

4 篇文章 0 订阅
3 篇文章 0 订阅

一、背景

数据加密是指对某些敏感信息通过加密规则进行数据的变形,实现敏感隐私数据的可靠保护。涉及客户安全数据或者一些商业性敏感数据,如身份证号、手机号、卡号、客户号等个人信息按照相关部门规定,都需要进行数据加密。

一般有两种情况:

  1. 新业务上线

·加密存储,使用解密

  1. 已上线业务

·历史数据需要如何加密;

·如何在不改的sql和业务逻辑的情况下,将新的数据进行加密存储,使用解密;

·如果较为安全、无缝、透明化的实现业务系统在明文与密文数据间的迁移。

二、配置文件加密

数据加密YAML 配置方式具有非凡的可读性,通过 YAML 格式,能够快速地理解加密规则之间的依赖关系,ShardingSphere 会根据 YAML 配置,自动完成 ShardingSphereDataSource 对象的创建,减少用户不必要的编码工作。

在YAML 文件中配置数据加密规则,包含数据源、加密规则、全局属性等配置项。

  1. 参数解释

三、加密算法

  1. MD5加密(不可逆的加密算法)

可配置属性:

名称

数据类型

说明

salt

String

盐值(可选)

配置

查询

  1. AES加密

可配置属性:

名称

数据类型

说明

aes-key-value

String

AES 使用的 KEY

配置

查询

  1. RC4加密

可配置属性:

名称

数据类型

说明

c4-key-value

String

RC4 使用的 KEY

  1. SM3加密

可配置属性:

名称

数据类型

说明

sm3-salt

String

SM3 使用的 SALT(空或 8 Bytes)

  1. SM4加密

可配置属性:

名称

数据类型

说明

sm4-key

String

SM4 使用的 KEY (16 Bytes)

sm4-mode

String

SM4 使用的 MODE (CBC 或 ECB)

sm4-iv

String

SM4 使用的 IV (MODE 为 CBC 时需指定,16 Bytes)

sm4-padding

String

SM4 使用的 PADDING (PKCS5Padding 或 PKCS7Padding,暂不支持 NoPadding)

  1. 模糊加密

单字符摘要模糊加密算法

类型:CHAR_DIGEST_LIKE

可配置属性:

名称

数据类型

说明

delta

int

字符Unicode码偏移量(十进制)

mask

int

字符加密掩码(十进制)

start

int

密文Unicode初始码(十进制)

dict

String

常见字

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sharding-JDBC 是一个开源的分库分表中间件,它提供了数据源的动态加载功能。下面是 Sharding-JDBC 数据源加载的流程: 1. 加载配置文件:首先,Sharding-JDBC 会读取配置文件,一般是通过 Spring 或者 Spring Boot 进行配置。配置文件中包含了数据源的相关信息,比如数据源类型、分库分表规则等。 2. 解析配置文件:Sharding-JDBC 会解析配置文件,将配置信息转换为内部的数据结构,比如解析数据源类型、解析分库分表规则等。 3. 初始化数据源:根据配置文件中的数据源信息,Sharding-JDBC 会初始化对应的数据源,如读写分离数据源、分布式数据源等。这里会根据配置的数据源类型进行相应的初始化操作。 4. 初始化分库分表规则:根据配置文件中的分库分表规则,Sharding-JDBC 会初始化对应的分库分表规则。这些规则定义了数据如何划分到不同的库表中。 5. 加载数据源路由:Sharding-JDBC 会根据分库分表规则和数据源信息,构建数据源路由对象。数据源路由对象负责将 SQL 解析为对应的数据源和表。 6. 加载 SQL 解析器:Sharding-JDBC 会加载 SQL 解析器,用于解析 SQL 并生成对应的执行计划。 7. 加载执行引擎:Sharding-JDBC 会加载执行引擎,用于执行 SQL 执行计划,并将结果返回给应用程序。 通过以上步骤,Sharding-JDBC 完成了数据源的加载,应用程序可以通过 Sharding-JDBC 进行数据的访问和操作。需要注意的是,具体的加载流程可能会根据不同的版本和配置有所差异,上述流程仅为一般情况下的示意。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值