敏感信息脱敏方法

public class MaskUtil {
	/**
	 * 字符串做掩码处理
	 * @param strIn
	 * @param preSize 前展示字符数
	 * @param suffixSize 后展示字符数
	 * @return
	 *
	 * 银行卡:前6后4
	 * 手机号码:前3后4
	 * 身份证号:前5后3
	 * 密码:前0后0
	 */

	public static String strToMaskStr(String strIn,int preSize,int suffixSize){
		if (StringUtils.isEmpty(strIn)) {
			return "";
		} else {
			StringBuilder mask = new StringBuilder();
			if (preSize > 0 && suffixSize > 0 && preSize + suffixSize < strIn.length()) {
				int masklength = strIn.length() - preSize - suffixSize;
				for (int i = 0; i < masklength; i++) {
					mask.append("*");
				}
				mask = new StringBuilder(strIn.substring(0, preSize) + mask + strIn.substring(preSize + masklength));
				return mask.toString();
			} else {
				for (int i = 0; i<strIn.length(); i++) {
					mask.append("*");
				}
				return mask.toString();
			}
		}
	}
}
//调用示例
String maskStr = MaskUtil.strToMaskStr(phone,3,4);

你可能感兴趣的:(代码,算法)