supplement missing files
parent
a3561593c8
commit
1eead9676a
|
@ -0,0 +1,39 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class ChineseNameHandler extends DesensitizeAdapter {
|
||||
|
||||
private static final List<String> CHINESE_NAMES = Arrays.asList("欧阳", "太史", "端木", "上官", "司马", "东方", "独孤", "南宫", "万俟", "闻人", "夏侯", "诸葛", "尉迟", "公羊", "赫连", "澹台", "皇甫", "宗政", "濮阳", "公冶", "太叔", "申屠", "公孙", "慕容", "仲孙", "钟离", "长孙", "宇文", "城池", "司徒", "鲜于", "司空", "汝嫣", "闾丘", "子车", "亓官", "司寇", "巫马", "公西", "颛孙", "壤驷", "公良", "漆雕", "乐正", "宰父", "谷梁", "拓跋", "夹谷", "轩辕", "令狐", "段干", "百里", "呼延", "东郭", "南门", "羊舌", "微生", "公户", "公玉", "公仪", "梁丘", "公仲", "公上", "公门", "公山", "公坚", "左丘", "公伯", "西门", "公祖", "第五", "公乘", "贯丘", "公皙", "南荣", "东里", "东宫", "仲长", "子书", "子桑", "即墨", "达奚", "褚师");
|
||||
|
||||
@Override
|
||||
public String doMask(String fullName) {
|
||||
if (isBlank(fullName)) {
|
||||
return "";
|
||||
} else if (fullName.length() == 1) {
|
||||
return "*";
|
||||
} else {
|
||||
int csNameLen = 2;
|
||||
if (CHINESE_NAMES.contains(fullName.substring(0, csNameLen))) {
|
||||
return hide(fullName, 0, csNameLen);
|
||||
} else {
|
||||
return fullName.length() > 5 ? hide(fullName, 0, 3) : hide(fullName, 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.CHINESE_NAME;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class EmailHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public String doMask(String email) {
|
||||
if (isBlank(email)) {
|
||||
return "";
|
||||
} else {
|
||||
int index = indexOf(email, 64);
|
||||
return index <= 1 ? hide(email, 0, index) : hide(email, index <= 3 ? 1 : 3, index);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.EMAIL;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/19
|
||||
*/
|
||||
@Component
|
||||
public class GenderHandler extends DesensitizeAdapter {
|
||||
@Override
|
||||
public String doMask(String gender) {
|
||||
return isBlank(gender) ? "" : "**";
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.GENDER;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class IdCardNumHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public String doMask(String idCardNum) {
|
||||
return maskCardNumber(idCardNum,2,2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.ID_CARD;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/19
|
||||
*/
|
||||
@Component
|
||||
public class IpHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public String doMask(String ip) {
|
||||
if (isBlank(ip)) {
|
||||
return "";
|
||||
}
|
||||
int max = 6;
|
||||
return ip.length() <= max ? hide(ip, ip.length() - 1, ip.length()) : hide(ip, ip.length() - max, ip.length());
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.IP;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class MobileHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public String doMask(String mobile) {
|
||||
return isBlank(mobile) ? "" : hide(mobile, 3, mobile.length() - 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.MOBILE;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class OtherCardHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public String doMask(String idCardNum) {
|
||||
return maskCardNumber(idCardNum,1,1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.OTHER_CARD;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class PasswordHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public String doMask(String password) {
|
||||
return isBlank(password) ? "" : repeat('*', password.length());
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.PASSWORD;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.applesline.desensitize.handle.impl;
|
||||
|
||||
import org.applesline.desensitize.constants.DesensitizeType;
|
||||
import org.applesline.desensitize.handle.DesensitizeAdapter;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author liuyaping
|
||||
* @date 2022/1/13
|
||||
*/
|
||||
@Component
|
||||
public class UserIdHandler extends DesensitizeAdapter {
|
||||
|
||||
@Override
|
||||
public Long doMask() {
|
||||
return super.doMask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DesensitizeType getFieldType() {
|
||||
return DesensitizeType.USER_ID;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue