前言:commons-langbao中有很多方便的工具,无需我们自己去实现,能够节省很多开发时的问题:

1、工具包,引入依赖,jDK8对应的版本如下:

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>

2、代码:

import org.apache.commons.lang3.StringUtils;
 /**
* 姓名脱敏
* @param userName
* @param index
* @return
*/
public static String hideName(String userName,int index) {
if (StringUtils.isBlank(userName)) {
return "";
}
String name = StringUtils.left(userName, index);
return StringUtils.rightPad(name, StringUtils.length(userName), "*");
} /**
* 身份证脱敏
* @param cardNo
* @param index
* @param end
* @return
*/
public static String hideCerCardNum(String cardNo,int index,int end) {
if (StringUtils.isBlank(cardNo)) {
return "";
}
return StringUtils.left(cardNo, index).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(cardNo, end), StringUtils.length(cardNo), "*"), "***"));
} /**电话脱敏
*
* @param phoneNum
* @param end
* @return
*/
public static String hidePhone(String phoneNum,int end) {
if (StringUtils.isBlank(phoneNum)) {
return "";
}
return StringUtils.leftPad(StringUtils.right(phoneNum, end), StringUtils.length(phoneNum), "*");
}
/**
* 邮箱脱敏
* @param email
* @return
*/
public static String email(String email) {
if (StringUtils.isBlank(email)) {
return "";
}
int index = StringUtils.indexOf(email, "@");
if (index <= 1){
return email;
}
else{
return StringUtils.rightPad(StringUtils.left(email, 1), index, "*").concat(StringUtils.mid(email, index, StringUtils.length(email)));
} } /**
* 银行卡号脱敏
* @param cardNum
* @return
*/
public static String bankCard(String cardNum) {
if (StringUtils.isBlank(cardNum)) {
return "";
}
return StringUtils.left(cardNum, 4).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(cardNum, 4), StringUtils.length(cardNum), "*"), "******"));
}

【commons-lang3工具】JAVA脱敏工具的更多相关文章

  1. Java 数据脱敏 工具类

    一.项目导入Apache的commons的Jar包. Jar包Maven下载地址:https://mvnrepository.com/artifact/org.apache.commons/commo ...

  2. java zip工具类

    依赖jar :apache-ant-1.9.2-bin.zip import java.io.File; import java.io.FileInputStream; import java.io. ...

  3. java 常用工具类

    1. org.apache.commons.collections4包提供CollectionUtils.MapUtils.ListUtils.SetUtils等工具类: 2. org.apache. ...

  4. java 身份证工具类

    package com.app.wx.common.util; import org.apache.commons.lang3.StringUtils; import java.text.ParseE ...

  5. Java验证工具类

    在项目中使用Java经常有验证功能的使用,比如手机号,密码等验证. 总结一下,写出个工具类方便以后用的时候直接引. package com.common.utils; import org.apach ...

  6. 一个简单的Java代码生成工具—根据数据源自动生成bean、dao、mapper.xml、service、serviceImpl

    目录结构 核心思想 通过properties文件获取数据源—>获取数据表的字段名称.字段类型等—>生成相应的bean实体类(po.model).dao接口(基本的增删改查).mapper. ...

  7. java 日期工具

    package com.neuxa.is.workflow.utils; import java.sql.Timestamp;import java.text.DateFormat;import ja ...

  8. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  9. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面     本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...

随机推荐

  1. 随机森林与 GBDT

    随机森林(random forest),GBDT(Gradient Boosting Decision Tree),前者中的森林,与后者中的 Boosting 都在说明,两种模型其实都是一种集成学习( ...

  2. 《TIME》时代周刊阅读

    0. 常识 tribunal 是解决民事诉讼和民事纠纷的地方,以调解为主,使用主席制.主席是受过司法培训,具有一定法律基础的,但不能像法官一样直接给你判决,也不能强制执行. Court 一般针对严重案 ...

  3. Leetcode 237 Delete Node in a Linked List 链表

    如题 删除是要注意让现在的链表等于下一个链表的值 class Solution { public: void deleteNode(ListNode* node) { ListNode *nextno ...

  4. Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)

    原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) ------------------------------ ...

  5. 如何直接访问WEB-INF下列文件

    <servlet> <servlet-name>HE</servlet-name> <jsp-file>/WEB-INF/u_member/Login. ...

  6. Hibernate_12_HQL句子

    使用HQL查询功能: (1)与SQL相似,SQL用. (2)SQL查询的是表和表中的列.HQL查询的是对象与对象中的属 (3)HQL的keyword不区分大写和小写,类名与属性名是区分大写和小写 (4 ...

  7. WPF - 善用路由事件

    原文:WPF - 善用路由事件 在原来的公司中,编写自定义控件是常常遇到的任务.但这些控件常常拥有一个不怎么好的特点:无论是内部还是外部都没有使用路由事件.那我们应该怎样宰自定义控件开发中使用路由事件 ...

  8. Shell脚本入门学习笔记

    1.shell操作系统和用户之间.负责解释命令行 2./etc/shells 记录登录系统有效支持shell 3./etc/passwd 最后,有人谁可以看到用户的默认shell 4.直接输入shel ...

  9. QT 窗体控件的透明度设置(三种方法)

    整个窗体 当设置QT的窗体(QMainWindow, QDialog)时,直接用 targetForm->setWindowOpacity()   函数即可实现,效果为窗体及窗体内所有控件都透明 ...

  10. MVC linq执行顺序