Field Desensitization
The
@Desensitization
annotation is used for data desensitization, with 15 built-in common rules such asPhone Number
,Bank Card Number
, andName
.
@Desensitization
- Data desensitization annotation
type()
: Desensitization type, see: DesensitizationTypeEnumstartInclude()
: Start position (inclusive) for desensitization. Used whentype()
isDesensitizationTypeEnum.CUSTOM
anddesensitizationHandler()
isVoid
endExclude()
: End position (exclusive) for desensitization. Used whentype()
isDesensitizationTypeEnum.CUSTOM
anddesensitizationHandler()
isVoid
desensitizationHandler()
: Desensitization handler. Used whentype()
isDesensitizationTypeEnum.CUSTOM
. The handler must implement thecom.mongoplus.handlers.DesensitizationHandler
interface.
Example
Using in Entity Class
Mark a field in an entity class with @Desensitization
and set it to Chinese name type desensitization:
java
public class User {
@Desensitization(type = DesensitizationTypeEnum.CHINESE_NAME)
private String userName;
}
Custom Desensitization Handler
java
public class CustomDesensitizationHandler implements DesensitizationHandler {
@Override
public String desensitized(Field field, Object obj, int startInclude, int endExclude, DesensitizationTypeEnum desensitizedType) {
return DesensitizedUtil.desensitized(String.valueOf(obj), startInclude, endExclude, desensitizedType);
}
}
// Using in entity class
public class User {
@Desensitization(desensitizationHandler = CustomDesensitizationHandler.class)
private String userName;
}