SpringBoot实战:轻松实现接口数据脱敏
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
import org.springframework.stereotype.Component;
@Component
public class DesensitizedTransformer {
/**
* 手机号数据脱敏
* @param phoneNo 手机号
* @return 脱敏后的手机号
*/
public String transformPhoneNo(String phoneNo) {
if (phoneNo == null) {
return null;
}
return phoneNo.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
}
/**
* 邮箱数据脱敏
* @param email 邮箱地址
* @return 脱敏后的邮箱地址
*/
public String transformEmail(String email) {
if (email == null) {
return null;
}
int index = email.lastIndexOf("@");
if (index <= 1) {
return email;
}
return email.substring(0, 1) + "*****" + email.substring(index);
}
// 其他数据脱敏方法...
}
这个示例中,我们定义了一个DesensitizedTransformer
组件,包含了transformPhoneNo
和transformEmail
方法,分别用于手机号和邮箱的数据脱敏。在实际使用时,可以通过依赖注入的方式注入DesensitizedTransformer
,然后调用对应的脱敏方法。
评论已关闭