古道长亭

Contact me with ixiaoqiang0011@gmail.com


  • 首页

  • 归档

  • 分类

  • 关于

  • Book

  • 搜索

数据脱敏实战

时间: 2023-01-03   |   分类: mysql高级   sharding-sphere   | 字数: 296 字 | 阅读约: 1分钟 | 阅读次数:

数据脱敏实战

实战代码示例: https://gitee.com/ixinglan/mysql-demo.git

sharding-jdbc-demo: 详见README.md 介绍

我们以c_user表示例,只需1个库即可

CREATE TABLE `c_user` (
  `Id` bigint(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(256) DEFAULT NULL,
  `pwd_plain` varchar(256) DEFAULT NULL,
  `pwd_cipher` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1. entity创建: CUser, 注意: pwd为逻辑列,对应数据库中明文和密文列
  2. repository创建: CUserRepository
  3. 创建application-encrypt配置文件, 将主配置文件active改为encrypt
# datasource
spring:
  shardingsphere:
    datasource:
      names: ds0
      ds0:
        type: com.zaxxer.hikari.HikariDataSource
        driver-class: com.mysql.jdbc.Driver
        jdbc-url: jdbc:mysql://localhost:3306/sharding-demo1
        username: root
        password: 123456
    # 指定是否用密文列作查询
    props:
      query:
        with:
          cipher:
            column: true
    #encrypt
    encrypt:
      tables:
        c_user:
          columns:
            pwd:
              plainColumn: pwd_plain # 逻辑列pwd对应的明文列
              cipherColumn: pwd_cipher #逻辑列pwd对应的密文列
              encryptor: demo_pwd #下面定义的自定义名称
          # 主键生成器
          keyGenerator:
            column: id
            type: SNOWFLAKE
      #指定算法
      encryptors:
        demo_pwd: #自定义名称
          type: aes
          props:
            aes:
              key:
                value: 1234 #密钥
  1. 测试方法 TestEncryptor: testAdd, testFind
#mysql# #数据脱敏# #sharding-sphere#
QQ扫一扫交流

标题:数据脱敏实战

作者:古道长亭

声明: 欢迎加群交流!

如有帮助,欢迎多多交流 ^_^

微信打赏

支付宝打赏

分布式事务剖析
数据脱敏剖析
  • 文章目录
  • 站点概览
古道长亭

古道长亭

Always remember that your present situation is not your final destination. The best is yet to come.

226 日志
57 分类
104 标签
GitHub Gitee
友情链接
  • 古道长亭的BOOK
  • JAVA学习
标签云
  • Mysql
  • 搜索引擎
  • Mybatis
  • 容器
  • 架构
  • 消息队列
  • Flink
  • Sharding sphere
  • 流处理
  • 缓存
© 2019 - 2024 京ICP备19012088号-1
0%