您现在的位置是:首页 > 文章详情

java数据脱敏处理,手机号,身份证号和银行卡号打码展示

日期:2019-06-05点击:1086

java数据脱敏处理,手机号,身份证号和银行卡号打码展示

结果图如下

20:17:51.730 [main] INFO com.lockbur.open.AppTest - 手机号 136****4724 20:17:51.740 [main] INFO com.lockbur.open.AppTest - 手机号 13**** 20:17:51.741 [main] INFO com.lockbur.open.AppTest - 邮箱 845****22@qq.com 20:17:51.741 [main] INFO com.lockbur.open.AppTest - 邮箱不够四位 22****@qq.com 20:17:51.742 [main] INFO com.lockbur.open.AppTest - 邮箱错误 22qq.com 20:17:51.742 [main] INFO com.lockbur.open.AppTest - 假身份证号 132****99308084911

1 先引入commons-lang3,这个基本每个项目都用到

<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> </dependency>

2 数据处理

这里主要用StringUtils工具的overlay(String str,String overlay,int start,int end)方法可以在指定位置进行字符序列替换,从start索引处开始(包含)到end-1索引处为止进行替换

package com.lockbur.open.utils; import org.apache.commons.lang3.StringUtils; /** * 数据隐私显示 手机号,身份证号和银行卡号等 * @author wangkun23 */ public class PrivacyDimmer { private static final String OVERLAY = "****"; private static final int START = 3; private static final int END = 7; /** * 139****0504 * * @param content * @return */ public static String maskMobile(String content) { if (StringUtils.isEmpty(content)) { return ""; } return StringUtils.overlay(content, OVERLAY, START, END); } /** * 过滤邮箱账号 * 132****99308084911 * * @param email * @return */ public static String maskEmail(String email) { if (StringUtils.isEmpty(email)) { return ""; } String at = "@"; if (!email.contains(at)) { return email; } /** * 这里主要逻辑是需要保留邮箱的注册商 比如@qq.com */ int length = StringUtils.indexOf(email, at); String content = StringUtils.substring(email, 0, length); String mask = StringUtils.overlay(content, OVERLAY, START, END); return mask + StringUtils.substring(email, length); } /** * 身份证打码操作 * 132****99308084911 * @param idCard * @return */ public static String maskIdCard(String idCard) { if (StringUtils.isEmpty(idCard)) { return ""; } return StringUtils.overlay(idCard, OVERLAY, START, END); } }

3测试结果

@Test public void overlay() { logger.info("手机号 {}", PrivacyDimmer.maskMobile("13661014724")); logger.info("手机号 {}", PrivacyDimmer.maskMobile("13")); logger.info("邮箱 {}", PrivacyDimmer.maskEmail("845885222@qq.com")); logger.info("邮箱不够四位 {}", PrivacyDimmer.maskEmail("22@qq.com")); logger.info("邮箱错误 {}", PrivacyDimmer.maskEmail("22qq.com")); logger.info("假身份证号 {}",PrivacyDimmer.maskIdCard("132128199308084911")); }
原文链接:https://yq.aliyun.com/articles/704744
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章