【commons-lang3工具】JAVA脱敏工具
2024-09-01 00:50:49
前言: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), "*"), "******"));
}
最新文章
- [LeetCode] Find Right Interval 找右区间
- swift 3.0 协议笔记
- Linux下cp -rf总是提示覆盖的解决办法
- Linux 查看 删除进程
- GCD工作单元
- 数据结构(启发式合并):HNOI 2009 梦幻布丁
- 详解CSS设置默认字体样式
- eclipse安装svn插件,在输入url后,一直卡在in progress界面不懂。
- RedHat9.0下载地址
- #postman接口测试系列:基本操作总结
- 运行期以索引获取tuple元素-C++11之1
- .NET使用ServerManager获取网站物理路径
- CSS之IE浏览器的hasLayout,IE低版本的bug根源
- 洗礼灵魂,修炼python(69)--爬虫篇—番外篇之feedparser模块
- Confluence 6 用自带的用户管理
- ionic访问odoo 11接口
- 自学Zabbix11.5 Zabbix SNMP监控实例
- 三步解决阿里云绑定公网IP地址失败解决方案
- 【MOOC EXP】Linux内核分析实验五报告
- Hibernate核心对象
热门文章
- ElasticSearch的基本用法与集群搭建 good
- wpf中的倒影效果实现
- 【 D3.js 入门系列 --- 9.3 】 弦图生产
- Python抓取框架:Scrapy的架构
- Effective JavaScript Item 38 调用父类的构造函数在子类的构造函数
- cocos2d-x 显示触摸操作(单击显示效果浪潮,对于视频演示)-绩效转型
- Nucleus PLUS系统架构和组件
- jquery通过索引获取元素
- install windows service
- <;转>;C# 动态创建DataTable