public class SensitiveDataUtil extends Object
<Party id="part_2"> <FullName>yimin.jiang</FullName> <GovtIDTC tc="802"></GovtIDTC> <GovtID>432926198110191188</GovtID> <GovtTermDate>2011-06-07</GovtTermDate> </Party>方法返回值:
tagBegin: <GovtID>tagEnd: </GovtID>sensitiveInfoType: SensitiveDataUtil.IDCARDNO_DATA
<Party id="part_2"> <FullName>yimin.jiang</FullName> <GovtIDTC tc="802"></GovtIDTC> <GovtID>432926********1188</GovtID> <GovtTermDate>2011-06-07</GovtTermDate> </Party>
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
BANKCARDNO_DATA
银行卡号数据类型标识,可用于SensitiveDataUtil.filterHide方法的sensitiveDataType参数。
|
static int |
EMAIL_DATA
EMAIL数据类型标识,可用于SensitiveDataUtil.filterHide方法的sensitiveDataType参数。
|
static int |
IDCARDNO_DATA
身份证号数据类型标识,可用于SensitiveDataUtil.filterHide方法的sensitiveDataType参数。
|
static int |
PHONENO_DATA
电话号码数据类型标识,可用于SensitiveDataUtil.filterHide方法的sensitiveDataType参数。
|
| 构造器和说明 |
|---|
SensitiveDataUtil()
构造函数,默认开启屏蔽开关
|
SensitiveDataUtil(boolean hideFlag)
构造函数
|
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
alipayLogonIdHide(String logonId)
对支付宝登陆帐号进行部分隐藏处理:如果是手机号,显示前3和后2位;如果是email,只显示用户名的前3位+*+@域名;如果都不是, 隐藏中间四位。
|
static String |
alipayLogonIdHideSMS(String logonId)
对支付宝登陆帐号进行部分隐藏处理,适用于短信。
|
static String |
bankCardNoHide(String bankCardNo)
对银行卡号进行部分隐藏处理的简便方法,默认不做验证,由使用者自己保障。
|
static String |
bankCardNoHide(String bankCardNo,
boolean doValidate)
对银行卡号进行部分隐藏处理, 如果银行卡位数大于等于16位只显示前6位和后4位,其他用*代替。
|
static String |
cellphoneHide(String cellphone)
手机号码通用隐藏规则(包括港澳台地区),隐藏中间四位 适用于网站以及客户端
SensitiveDataUtil.cellphoneHide("13071835358") = 130******58
SensitiveDataUtil.cellphoneHide("3071835358") = 30****358
SensitiveDataUtil.cellphoneHide("071835358") = 07****58
SensitiveDataUtil.cellphoneHide("835358") = 8****8
|
static String |
cellphoneHideSMS(String cellphone)
手机号码通用隐藏规则(包括港澳台地区), 适用于短信。
|
static String |
customizeHide(String sensitiveData,
int frontCharNum,
int tailCharNum,
int hiddenCharNum)
自定义屏蔽位数和屏蔽位置
SensitiveDataUtil.customizeHide("13568794561",3,4,4) = "135****4561"
SensitiveDataUtil.customizeHide("13568794561",0,4,4) = "****4561"
SensitiveDataUtil.customizeHide("13568794561",3,0,4) = "135****"
SensitiveDataUtil.customizeHide("13568794561",3,0,8) = "135********"
|
static String |
defaultHide(String sensitiveData)
敏感信息缺省隐藏方式处理:显示前1/3和后1/3,其他*号代替。
|
static String |
emailHide(String email)
对Email进行部分隐藏处理的简便方法,默认不做验证,由使用者自己保障。
|
static String |
emailHide(String email,
boolean doValidate)
对Email进行部分隐藏处理,只显示用户名的前3位+***+@域名。
|
static String |
emailHideSMS(String email)
对短信中的Email进行部分隐藏处理的简便方法,默认不做验证,由使用者自己保障。
|
static String |
emailHideSMS(String email,
boolean doValidate)
对短信中的Email进行部分隐藏处理,只显示用户名的前3位+*+@域名。
|
static String |
filterHide(String sourceStr,
String tagBegin,
String tagEnd,
int sensitiveDataType)
过滤字符串中的敏感信息:对起始标签
tagBegin和结尾标签tagEnd
中间的内容按指定的敏感数据类型sensitiveInfoType进行部分隐藏。 |
static String |
idCardNoHide(String idCardNo)
对大陆身份证号进行部分隐藏处理的简便方法,默认不做验证,由使用者自己保障。
|
static String |
idCardNoHide(String idCardNo,
boolean doValidate)
对大陆身份证号进行部分隐藏处理,只显示前1位和后1位,其他用*代替。
|
static String |
nameHide(String name)
只适用于中文姓名
|
static boolean |
needHide()
hideFlag getter
|
static String |
phoneOrTelNoHide(String phoneOrTelNo)
对电话号码(手机号或座机号码)进行部分隐藏处理的简便方法,默认不做验证,由使用者自己保障。
|
static String |
phoneOrTelNoHide(String phoneOrTelNo,
boolean doValidate)
对电话号码(手机号或座机号码)进行部分隐藏处理,手机号只显示前3位和后4位,固定电话号码只显示区号和后4位,其他用*代替。
|
static void |
setHideFlag(boolean hideFlag)
hideFlag setter
|
static String |
taobaoNickHide(String sensitiveData)
显示首/尾各1位,中间加**
SensitiveDataUtil.taobaoNickHide("中华") = 中**华
SensitiveDataUtil.taobaoNickHide("中华人") = 中**人
SensitiveDataUtil.taobaoNickHide("中华人民") = 中**民
SensitiveDataUtil.taobaoNickHide("china") = c**a
|
public static final int BANKCARDNO_DATA
public static final int IDCARDNO_DATA
public static final int PHONENO_DATA
public static final int EMAIL_DATA
public SensitiveDataUtil(boolean hideFlag)
hideFlag - 是否需要进行屏蔽的开关;ture表示打开。public SensitiveDataUtil()
public static String alipayLogonIdHide(String logonId)
logonId - 待部分隐藏处理的支付宝登陆帐号,可能是手机号或email。public static String alipayLogonIdHideSMS(String logonId)
logonId - 待部分隐藏处理的支付宝登陆帐号,可能是手机号或email。public static String nameHide(String name)
name - 姓名public static String idCardNoHide(String idCardNo, boolean doValidate)
idCardNo - 待部分隐藏处理的身份证号。doValidate - 是否做身份证号合法性校验。警告:做校验会进行正则匹配,性能上比不做校验的方法略有损耗。public static String idCardNoHide(String idCardNo)
idCardNo - 待部分隐藏处理的身份证号。public static String bankCardNoHide(String bankCardNo, boolean doValidate)
bankCardNo - 待部分隐藏处理的银行卡号。doValidate - 是否做银行卡号合法性校验。警告:做校验会进行正则匹配,性能上比不做校验的方法略有损耗。public static String bankCardNoHide(String bankCardNo)
bankCardNo - 待部分隐藏处理的银行卡号。public static String phoneOrTelNoHide(String phoneOrTelNo, boolean doValidate)
phoneOrTelNo - 待隐藏处理的电话号码doValidate - 是否做电话号码合法性校验。警告:做校验会进行正则匹配,性能上比不做校验的方法略有损耗。public static String phoneOrTelNoHide(String phoneOrTelNo)
phoneOrTelNo - 待隐藏处理的电话号码public static String cellphoneHide(String cellphone)
cellphone - public static String cellphoneHideSMS(String cellphone)
cellphone - public static String emailHide(String email, boolean doValidate)
email - 待处理的EmaildoValidate - 是否做Email合法性校验。警告:做校验会进行正则匹配,性能上比不做校验的方法略有损耗。public static String emailHide(String email)
email - 待处理的Emailpublic static String emailHideSMS(String email, boolean doValidate)
email - 待处理的EmaildoValidate - 是否做Email合法性校验。警告:做校验会进行正则匹配,性能上比不做校验的方法略有损耗。public static String emailHideSMS(String email)
email - 待处理的Emailpublic static String filterHide(String sourceStr, String tagBegin, String tagEnd, int sensitiveDataType)
过滤字符串中的敏感信息:对起始标签tagBegin和结尾标签tagEnd
中间的内容按指定的敏感数据类型sensitiveInfoType进行部分隐藏。
示例: 过滤证件号
sourceStr为:
<Party id="part_2"> <FullName>yimin.jiang</FullName> <GovtIDTC tc="802"></GovtIDTC> <GovtID>432926201110191188</GovtID> <GovtTermDate>2011-06-07</GovtTermDate> </Party>
方法返回值:tagBegin:<GovtID>tagEnd: </GovtID>sensitiveInfoType: SensitiveDataUtil.IDCARDNO_DATA
<Party id="part_2"> <FullName>yimin.jiang</FullName> <GovtIDTC tc="802"></GovtIDTC> <GovtID>432926********1188</GovtID> <GovtTermDate>2011-06-07</GovtTermDate> </Party>
sourceStr - 源字符串tagBegin - 起始标签tagEnd - 结尾标签sensitiveDataType - 敏感数据类型,值可为: SensitiveDataUtil.BANKCARDNO_DATA、
SensitiveDataUtil.IDCARDNO_DATA、
SensitiveDataUtil.PHONENO_DATA、
SensitiveDataUtil.EMAIL_DATA或
SensitiveDataUtil.UNKNOWN_DATA。public static String taobaoNickHide(String sensitiveData)
sensitiveData - 淘宝昵称public static String defaultHide(String sensitiveData)
SensitiveDataUtil.defaultHide("ttt") = "t*t"
SensitiveDataUtil.defaultHide("tttttttt") = "ttt***tt"
sensitiveData - 待部分隐藏处理的敏感信息。public static String customizeHide(String sensitiveData, int frontCharNum, int tailCharNum, int hiddenCharNum)
SensitiveDataUtil.customizeHide("13568794561",3,4,4) = "135****4561"
SensitiveDataUtil.customizeHide("13568794561",0,4,4) = "****4561"
SensitiveDataUtil.customizeHide("13568794561",3,0,4) = "135****"
SensitiveDataUtil.customizeHide("13568794561",3,0,8) = "135********"
sensitiveData - 原数据frontCharNum - 展示前几位tailCharNum - 展示后几位hiddenCharNum - 展示星号*的个数public static void setHideFlag(boolean hideFlag)
hideFlag - public static boolean needHide()
Copyright © 2019. All rights reserved.