请教: mysql 指定字段列脱敏

2018-03-09 14:33:01 +08:00
 krisbai
问题:想给某个表的指定字段列进行脱敏,比如列名为 mobile,数据为 18018762731,脱敏后,数据为 180****
求指教,谢谢!
6817 次点击
所在节点    Linux
16 条回复
cobert
2018-03-09 14:49:25 +08:00
视图搞定
krisbai
2018-03-09 14:50:57 +08:00
@cobert 因为要定期做,所以只能以脚本方式进行。。。
abcbuzhiming
2018-03-09 14:53:50 +08:00
你的脱敏到底是啥意思,是把原始数据都替换掉,再存回数据库吗?
krisbai
2018-03-09 14:54:39 +08:00
@abcbuzhiming 直接在数据库内执行语句替换。
cobert
2018-03-09 14:56:03 +08:00
@krisbai 就是对目标表做对应视图,在视图定义时对指定列进行脱敏,你脚本只对视图进行操作。感觉我们俩对 mysql 的使用好像不是一样的。。。。
cobert
2018-03-09 14:56:42 +08:00
#5 对 mysql 的视图使用不是一样的
liuxu
2018-03-09 15:09:44 +08:00
用触发器?
krisbai
2018-03-09 15:14:30 +08:00
@cobert 不好意思,不太用视图。。。
huahuajun9527
2018-03-09 16:54:04 +08:00
```
SELECT CONCAT(LEFT(mobile, 3), "****", RIGHT(mobile, 4)) FROM user_info;
```
DeadMan
2018-03-09 18:04:01 +08:00
select concat(left(mobile,3),'****') from table_name;
yingfengi
2018-03-09 18:15:27 +08:00
为何不在存入的时候就对数据进行处理
wmhack
2018-03-10 08:22:03 +08:00
自己写一个注解。然后标在 Vo 对应的属性上面。我们公司就是这么做的
lihongjie0209
2018-03-10 22:28:18 +08:00
说实话, 脱敏属于面向客户端的, 不管是页面还是 restfulapi, 难道不应该在 MVC 中的 View 中做吗??
服务器端渲染的类似 JSP 可以在渲染时截取替换.
Restful 接口可以在 Json 转化时统一做.
你这样直接改数据库我就问一下之后有一个查询手机号的需求你怎么做??
krisbai
2018-03-12 14:12:18 +08:00
@DeadMan 请问下执行更新语句后报错,麻烦指导下!
语句:SELECT * FROM bai.test;
UPDATE test SET ContactMobile=concat(left(`test`.`ContactMobile`,6),'*****') as ContactMobile ;
DeadMan
2018-03-12 15:05:38 +08:00
@krisbai 后面的 as ContactMobile 不要
Miy4mori
2018-03-16 13:11:31 +08:00
13 楼的问题我也很好奇

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/436534

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX