Mysql数据脱敏

发布时间 2023-03-22 21:09:11作者: 不想挨捶的牛

1、姓名脱敏
update table set 列 = REPLACE(列,SUBSTR(列,2,1),'*')
PS:脱敏效果:张* ,张*三
2、手机号脱敏
UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 3) || '****' || SUBSTR (列, 8) ELSE NULL END )
PS:脱敏效果:
image

3、身份证号脱敏
UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 6) || '********' || SUBSTR (列, 15) ELSE NULL END )
PS:脱敏效果:
image

4、邮箱脱敏
UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 3) || '*****' || SUBSTR (列, 9)ELSE NULL END )
PS:脱敏效果:pan*****wen@163.com

5、地址脱敏(其一)
UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 0, 0) || '****' || SUBSTR (列, 5) ELSE NULL END )
PS:地址脱敏之后的效果: (隐藏前四位)****壁市淇县

地址的另一种脱敏方式 (其二)
UPDATE table SET 列 = ( CASE WHEN 列 IS NOT NULL THEN SUBSTR (列, 1, 3) || '******' ELSE NULL END )
PS:地址脱敏之后效果:(保留前三位)河南省******