请教: mysql 指定字段列脱敏 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
krisbai
V2EX    Linux

请教: mysql 指定字段列脱敏

  •  
  •   krisbai 2018 年 3 月 9 日 7597 次点击
    这是一个创建于 2968 天前的主题,其中的信息可能已经有所发展或是发生改变。
    问题:想给某个表的指定字段列进行脱敏,比如列名为 mobile,数据为 18018762731,脱敏后,数据为 180****
    求指教,谢谢!
    16 条回复    2018-03-16 13:11:31 +08:00
    2gMvqdiq91WfMHOd
        1
    2gMvqdiq91WfMHOd  
       2018 年 3 月 9 日
    视图搞定
    krisbai
        2
    krisbai  
    OP
       2018 年 3 月 9 日
    @cobert 因为要定期做,所以只能以脚本方式进行。。。
    abcbuzhiming
        3
    abcbuzhiming  
       2018 年 3 月 9 日
    你的脱敏到底是啥意思,是把原始数据都替换掉,再存回数据库吗?
    krisbai
        4
    krisbai  
    OP
       2018 年 3 月 9 日
    @abcbuzhiming 直接在数据库内执行语句替换。
    2gMvqdiq91WfMHOd
        5
    2gMvqdiq91WfMHOd  
       2018 年 3 月 9 日
    @krisbai 就是对目标表做对应视图,在视图定义时对指定列进行脱敏,你脚本只对视图进行操作。感觉我们俩对 mysql 的使用好像不是一样的。。。。
    2gMvqdiq91WfMHOd
        6
    2gMvqdiq91WfMHOd  
       2018 年 3 月 9 日
    #5 对 mysql 的视图使用不是一样的
    liuxu
        7
    liuxu  
       2018 年 3 月 9 日
    用触发器?
    krisbai
        8
    krisbai  
    OP
       2018 年 3 月 9 日
    @cobert 不好意思,不太用视图。。。
    huahuajun9527
        9
    huahuajun9527  
       2018 年 3 月 9 日   1
    ```
    SELECT CONCAT(LEFT(mobile, 3), "****", RIGHT(mobile, 4)) FROM user_info;
    ```
    DeaMan
        10
    DeadMan  
       2018 年 3 月 9 日   1
    select concat(left(mobile,3),'****') from table_name;
    yingfengi
        11
    yingfengi  
       2018 年 3 月 9 日 via Android
    为何不在存入的时候就对数据进行处理
    wmhack
        12
    wmhack  
       2018 年 3 月 10 日 via Android
    自己写一个注解。然后标在 Vo 对应的属性上面。我们公司就是这么做的
    lihongjie0209
        13
    lihongjie0209  
       2018 年 3 月 10 日
    说实话, 脱敏属于面向客户端的, 不管是页面还是 restfulapi, 难道不应该在 MVC 中的 View 中做吗??
    服务器端渲染的类似 JSP 可以在渲染时截取替换.
    Restful 接口可以在 Json 转化时统一做.
    你这样直接改数据库我就问一下之后有一个查询手机号的需求你怎么做??
    krisbai
        14
    krisbai  
    OP
       2018 年 3 月 12 日
    @DeadMan 请问下执行更新语句后报错,麻烦指导下!
    语句:SELECT * FROM bai.test;
    UPDATE test SET COntactMobile=concat(left(`test`.`ContactMobile`,6),'*****') as ContactMobile ;
    DeadMan
        15
    DeadMan  
       2018 年 3 月 12 日   1
    @krisbai 后面的 as ContactMobile 不要
    Miy4mori
        16
    Miy4mori  
       2018 年 3 月 16 日
    13 楼的问题我也很好奇
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     874 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 1639ms UTC 20:48 PVG 04:48 LAX 13:48 JFK 16:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86