# static-desensitive-util **Repository Path**: kepler_wang/static-desensitive-util ## Basic Information - **Project Name**: static-desensitive-util - **Description**: 静态脱敏测试项目 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-22 - **Last Updated**: 2022-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 静态脱敏基本任务实现 基于spark运行任务,可以实现基于字段对字段的数据处理,自定义class提供数据处理实现逻辑 ![image](流程.png) ## 测试结果 处理前 ![image](脱敏前.png) 处理后 ![image](脱敏后.png) ## spark运行任务: ``` spark-submit --class com.zjh.desensitive.DesensitiveMain /home/kepler/desensitive/static-desensitive-util-1.0-SNAPSHOT.jar /home/kepler/desensitive/static-desensitive-job.json ``` ## 配置说明 配置文件说明 static-desensitive-job.json ``` { "reader": { //读取配置 "dataSource": { //读取数据源配置 "url": "jdbc:mysql://localhost:3306/new_schema?serverTimezone=UTC&characterEncoding=UTF-8&useSSL=false", //读取数据源地址 "driverClass":"com.mysql.jdbc.Driver", //读取数据源驱动类 "user": "root", //读取数据源用户名 "password": "root" //读取数据源密码,安全考虑可以改为环境变量 }, "sql_select": "select username, sex, email, status from user_1" //读取数据源sql }, "writer": { //写入配置 "dataSource": { 写入数据源配置 "url": "jdbc:mysql://localhost:3306/new_schema?serverTimezone=UTC&characterEncoding=UTF-8&useSSL=false", //写入数据源地址 "driverClass":"com.mysql.jdbc.Driver", //写入数据源驱动类 "user": "root", //写入数据源用户名 "password": "root" //写入数据源密码,安全考虑可以改为环境变量 }, "target_table": "user", //写入目标表 "target_columns": [ //写入目标字段列表 { "name": "username", //字段名称 "type_class": "class java.lang.String", //字段类型,以java类代表类型 "method": "desensitiveString", //自定义处理class方法名,如不转换数据则不配置 "desensitive_class": "DesensitiveString", //自定义处理class名称,如不转换数据则不配置 "class_path": "D:\\develop\\static-desensitive\\target\\classes", //自定义处理class目录,如不转换数据则不配置 "regular": ".*hello.*" //匹配数据正则 }, { "name": "sex", "type_class": "class java.lang.String", "method": "desensitiveString", "desensitive_class": "DesensitiveString", "class_path": "D:\\develop\\static-desensitive\\target\\classes", "regular": ".*haha.*" }, { "name": "email", "type_class": "class java.lang.String" }, { "name": "status", "type_class": "class java.lang.Integer", "method": "desensitiveInteger", "desensitive_class": "DesensitiveInteger", "class_path": "D:\\develop\\static-desensitive\\target\\classes", "regular": "[1-5]" } ] } } ```