写一个java数据脱敏代码
时间: 2024-06-10 08:05:58 浏览: 102
好的,以下是一个简单的 Java 数据脱敏代码,可以对手机号、身份证号、银行卡号等敏感数据进行脱敏:
```
/**
* 对敏感数据进行脱敏
* @param s 原始数据字符串
* @return 脱敏后的数据字符串
*/
public static String desensitize(String s) {
if (s == null || s.length() == 0) {
return "";
}
String desensitizedStr = "";
// 判断数据类型,使用不同的脱敏方式
if (s.matches("(13|14|15|18|17)\\d{9}")) { // 手机号
desensitizedStr = s.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
} else if (s.matches("\\d{17}[0-9,X]")) { // 身份证号
desensitizedStr = s.replaceAll("(\\d{4})\\d{10}(\\w{3})", "$1**** ****$2");
} else if (s.matches("\\d{16,19}")) { // 银行卡号
desensitizedStr = s.replaceAll("\\d{6}(\\d{6,9})\\d{3}", "******$1***");
} else { // 其他情况不做处理,返回原字符串
desensitizedStr = s;
}
return desensitizedStr;
}
```
使用方法:
```
String originalStr = "13800138000";
String desensitizedStr = desensitize(originalStr);
System.out.println(desensitizedStr);
```
输出结果:
```
138****8000
```
阅读全文