MySQL 脱敏函数

项目场景:

示例:项目涉及到敏感数据,例如手机号、姓名等使用mysql存储函数解决。


解决方案:

提示:以下主要使用mysql函数CONCAT、LEFT、RIGHT。 

1、CONCAT(str1,str2,…)  

      CONCAT()函数返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

2、LEFT(string,length)  

      LEFT()函数是一字符串函数,它返回具有指定长度的字符串的左边部分。

3、RIGHT(string,length)  

      RIGHT()函数是一字符串函数,它返回具有指定长度的字符串的右边部分。

BEGIN
DECLARE temp VARCHAR(50) DEFAULT '';
#判断值进行脱敏处理
#身份证
if f_type = 1 AND f_content IS NOT NULL AND  f_content then
set temp = CONCAT(LEFT(f_content,4), '************' ,RIGHT(f_content,2));
#姓名
elseif f_type = 2 AND f_content IS NOT NULL AND  f_content != '' then
set temp = (if(LENGTH(f_content)>8,CONCAT(LEFT(f_content,1), '*' ,right(f_content,1)),CONCAT(LEFT(f_content,1), '*' )));
#手机号
elseif f_type = 3 AND f_content IS NOT NULL AND  f_content != '' then
set temp = CONCAT(LEFT(f_content,3), '****' ,RIGHT(f_content,4));
else
set temp = ' 暂无信息';
end if;
RETURN temp;
END

 结果如下:

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值