zoukankan      html  css  js  c++  java
  • Java原生隐藏字符-工具类

    package com.seesun2012.common.util;

    /**

    • 隐藏字符-工具类
    • @author seesun2012@163.com

    */
    public class HiddenChartUtil {

    /**
     * 加密银行卡号,返回值如:6228 48** **** ***8 888
     *
     * @param str			原始字符串
     * @param startIndex	开始位置(显示)
     * @param endIndex		结束位置(显示)
     * @param n				每n个字符隔开
     * @param encryptionStr	指定加密字符,如"*"	--米字符号
     * @param repStr		添加分隔的符号,如:“ ” -- 空格
     * @return
     */
    public static String replaceCardId(String str, Integer startIndex, Integer endIndex, Integer n, String encryptionStr, String repStr){
    	return spaceReplace(hiddenStr(str, startIndex, endIndex, encryptionStr), n, repStr);
    }
    
    
    /**
     * 每间隔n个字符插入特定字符,默认如:6228 4888 8888 8888 888 ...
     *
     * @param str		原始字符
     * @param n			每n个字符隔开
     * @param repStr	添加分隔的符号,如:“ ” -- 空格
     * @return
     */
    public static String spaceReplace(String str, Integer n, String repStr){
    	if (n <= 0){
    		n = 4;
    	}
    	if (null == repStr){
    		repStr = "";
    	}
    	String newStr = "";
    	char[] bankArray = str.toCharArray();
    	for(int i=0;i<bankArray.length;i++){
    	    if(i%n==0 && i>0){
    	    	newStr += repStr;
    	    }
    	    newStr += bankArray[i];
    	}
    	return newStr;
    }
    
    
    /**
     * 隐藏指定间隔字符,默认如:622848************8888
     *
     * @param str			原始字符串
     * @param startIndex	开始位置
     * @param endIndex		结束位置
     * @param encryptionStr	指定加密字符
     * @return
     */
    public static String hiddenStr(String str, Integer startIndex, Integer endIndex, String encryptionStr){
    	if (str.length()<=1) {
    		return str;
    	}
    	if (null == encryptionStr){
    		encryptionStr = "*";
    	}
    	String xxStr = "";
    	String lenStr = str.trim().substring(startIndex, str.length()-endIndex);
    	for (int i = 0, len = lenStr.length(); i < len; i++) {
    		xxStr += encryptionStr;
    	}
    	xxStr = str.replaceFirst(lenStr, xxStr);
    	return xxStr;
    }
    

    }

  • 相关阅读:
    用icas下载文件报错
    jboss7.1.1相关error及解决办法
    Base-64编码介绍
    上传文件路径问题
    ZooKeeper安装(Windows)
    DBCP连接池配置参数说明
    Linux普通用户使用sudo权限启停apache服务
    线程池中的队列
    java线程池原理及实现方式
    https基础流程
  • 原文地址:https://www.cnblogs.com/seesun2012/p/9214630.html
Copyright © 2011-2022 走看看