java ip脱敏工具类
时间: 2023-06-30 07:06:37 浏览: 194
以下是一个简单的 Java IP 脱敏工具类的示例代码:
```
public class IpMaskUtil {
/**
* 将 IPv4 地址转换为脱敏格式
*
* @param ip 原始 IPv4 地址
* @return 脱敏后的 IPv4 地址
*/
public static String maskIpv4(String ip) {
if (ip == null || ip.isEmpty()) {
return "";
}
String[] segments = ip.split("\\.");
if (segments.length != 4) {
return ip; // 非法 IP 地址,直接返回原始字符串
}
StringBuilder builder = new StringBuilder();
builder.append(segments[0]).append(".");
builder.append("***").append(".");
builder.append("***").append(".");
builder.append(segments[3]);
return builder.toString();
}
/**
* 将 IPv6 地址转换为脱敏格式
*
* @param ip 原始 IPv6 地址
* @return 脱敏后的 IPv6 地址
*/
public static String maskIpv6(String ip) {
if (ip == null || ip.isEmpty()) {
return "";
}
String[] segments = ip.split(":");
if (segments.length < 2 || segments.length > 8) {
return ip; // 非法 IP 地址,直接返回原始字符串
}
StringBuilder builder = new StringBuilder();
int i;
for (i = 0; i < segments.length - 1; i++) {
builder.append(segments[i]).append(":");
}
builder.append("***:***:").append(segments[i]);
return builder.toString();
}
}
```
使用示例:
```
String ipv4 = "192.168.0.1";
String ipv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
String maskedIpv4 = IpMaskUtil.maskIpv4(ipv4);
String maskedIpv6 = IpMaskUtil.maskIpv6(ipv6);
System.out.println(maskedIpv4); // 输出:192.***.***.1
System.out.println(maskedIpv6); // 输出:2001:0db8:85a3:***:***:8a2e:0370:7334
```
注意,这只是一个简单的示例代码,实际应用中需要根据具体情况进行适当的修改和完善。
阅读全文