首页 > 数据库 >利用 kettle 对 oracle 实现字符串的脱敏和对称加密

利用 kettle 对 oracle 实现字符串的脱敏和对称加密

时间:2023-11-15 15:12:06浏览次数:57  
标签:加密 SUBSTR 实现 kettle 掩码 oracle World Hello 脱敏

脱敏要求

  • 对身份证进行 ASE加密处理
  • 对手机号 只显示前三位和后四位 其余使用**** 代替
  • 对于职业只显示 前三个字
  • 对于真实姓名只显示展示一位即可

kettle 建立转换

  • 表输入
  • 表输出

ASE加密

  • 选择组件
  • 密钥转换 密钥必须是 16 进制 且大于 16 个字节
  • 配置字段和加密算法

对于掩码处理

  • 用字符串组件实现正则 替换 剪切 链接等操作
  • 也可以用脚本实现
  • 但是都很麻烦 不推荐 数据都可以一个函数实现
    • 例如实现 对于真实姓名只显示展示一位即可 需要剪切 + 计算器 + 替换

实现手机号掩码

SELECT 
    SUBSTR('17665305038', 1, 3) || '****' || SUBSTR('17665305038', -4) AS masked_column
FROM 
    DUAL;

实现姓名掩码

SELECT RPAD(SUBSTR('Hello World', 1, 1), LENGTH('Hello World'), '*') AS masked_column
FROM DUAL;

实现职业掩码

SELECT RPAD(SUBSTR('Hello World', 1, 3), LENGTH('Hello World'), '*') AS masked_column
FROM DUAL;

效果如下

标签:加密,SUBSTR,实现,kettle,掩码,oracle,World,Hello,脱敏
From: https://www.cnblogs.com/guanchaoguo/p/17833861.html

相关文章

  • oracle 查看SQL执行计划
    参考:https://blog.csdn.net/m0_71406734/article/details/130745657执行计划的目的了解SQL语句的执行方式,帮助开发人员和DBA分析SQL语句的性能瓶颈。查看SQL语句的执行效率,帮助开发人员和DBA优化SQL语句的性能。了解数据库的物理结构,如索引、表之间的连接方式等。帮助开发人......
  • oracle中insert用select方式插入慢的解决之一
    原理我没明白,但是可以解决插入过慢的问题。原SQLINSERT INTO LOGINSTATBYDEPTzsy(group_id, persons, loginTimes, loginPersons, datadate, TYPE)SELECT tg.id, p.persons, sum(lb.LOGINAMOUNT)sum1, count(DISTINCTtu.id)sum2, 1, 2FROM userdaylogini......
  • oracle查询表空间占用sql
    查询表空间占用SELECT tablespace_name"表空间名", 100"已使用空间(MB)", 0"剩余空间(MB)", 100"总的预分配空间(MB)", 100||'%'"已使用百分比", 0||'%'"剩余百分比"FROM ( SELECT tablespace_name FROM ......
  • Oracle启动数据库报ORA-01102解决办法
    1.机器启动之后登录服务器使用sqlplus/assysdba登录数据库发现数据库并没有启动之前把数据库服务添加过开机自启动![在这里插入图片描述](https://img-blog.csdnimg.cn/c25a5e40f3274621b708d974065bf650.png)2.使用startup命令启动数据库报错了SYS@orcl>startup;ORACLE例程已......
  • Oracle sql自定义统计月范围
     思路: 1,使用SUBSTR(to_char(INSPECTION_DATE,'yyyy-mm-dd'),-2)取出天数, 2,使用case……when……then……判断取出的天数是否大于等于25号,如果是则将日期设置成下月第一天 如果小于等于24号,则设置成当月第一天 3,使用TRUNC(ADD_MONTHS(INSPECTION_DATE,1),'mm')增......
  • Oracle DG 主从延时判定
    一、主从应用模式1、ADG与普通归档模式colnamefora50;setlines300;--SWITCHOVER_STATUS:SESSIONSACTIVEselectSWITCHOVER_STATUS,NAME,PROTECTION_MODE,OPEN_MODE,LOG_MODE,DATABASE_ROLE,DB_UNIQUE_NAMEfromv$database;--如果process:MRP0:WAIT_FOR_LOG则为ADG,如果......
  • Oracle进程管理(下)
    五、配置数据库常驻连接池  数据库服务器预先配置为允许数据库常驻连接池。但是,必须通过启动连接池显式启用此功能。1.数据库常驻连接池初始化参数  使用DRCP_DEDICATED_OPT初始化参数配置使用数据库常驻连接池(DRCP)的专用优化。您可以通过将drcp_dedicated设置为Yes来启用专......
  • Oracle内存管理(上)
    一、内存管理简介  必须管理的内存结构是系统全局区域(SGA)和实例程序全局区域(实例PGA)。Oracle数据库支持多种内存管理方式,可通过初始化参数的设置进行选择。1.自动内存管理(AutomaticMemoryManagement)  Oracle数据库可以完全自动管理SGA内存和实例PGA内存。您只指定实例使......
  • oracle数据库 时间 TIMESTAMP(6)这是什么类型啊 怎么也插不进数据 ,是时间戳类型,参数6
    oracle数据库时间TIMESTAMP(6)这是什么类型啊怎么也插不进数据是时间戳类型,参数6指的是表示秒的数字的小数点右边可以存储6位数字是时间戳类型,参数6指的是表示秒的数字的小数点右边可以存储6位数字,最多9位。解决方法如下:1、时间戳的概念:它是一种时间表示方式,定义为从格林威......
  • oracle aud$造成system爆满问题
    我的数据库并没有开启对象审计,只有一些语句和权限的审计selectcount(*),usernamefromdba_audit_trailgroupbyusername;388"LIONIRPT"101062"YGLCUSR"57"APP_USR"2612712"PROM_MONITOR"1010"WALLET"4078"......