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;
      }

}

Java原生隐藏字符-工具类的更多相关文章

  1. 基于JAVA原生HTTP请求工具类 httphelper

    原文地址;http://lushuifa.iteye.com/blog/2313896 import java.io.BufferedReader; import java.io.BufferedWr ...

  2. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  3. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  4. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

  5. Java 后台验证的工具类

    Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^( ...

  6. Java日期时间实用工具类

    Java日期时间实用工具类 1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数   ...

  7. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  8. Java学习-041-颜色工具类(RGB,HEX)

    在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...

  9. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

随机推荐

  1. 【锁】java 锁的技术内幕

    转载自https://www.2cto.com/kf/201607/525119.html 一.基础知识 在Java并发编程里头,锁是一个非常重要的概念.就如同现实生活一样,如果房子上了锁.别人就进不 ...

  2. SDUT OJ 数据结构实验之串一:KMP简单应用 && 浅谈对看毛片算法的理解

    数据结构实验之串一:KMP简单应用 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...

  3. 5. pytest的断言

    一.pytest 支持Python自带的标准断言 def f(): return 3 def test_function(): assert f() == 4 pytest 的断言报告,也很丰富,和详 ...

  4. css文章

    前端HTML-CSS规范:https://yq.aliyun.com/articles/51487 jQuery+d3绘制流程图:https://blog.csdn.net/zitong_ccnu/a ...

  5. C# 委托的三种调用示例(同步调用、异步调用、异步回调)

    首先,通过代码定义一个委托和下面三个示例将要调用的方法: 代码如下: public delegate int AddHandler(int a,int b); public class 加法类 { p ...

  6. 使用C#实现SSLSocket加密通讯 Https

    原文链接 http://blog.csdn.net/wuyb_2004/article/details/51393290 using System; using System.Collections; ...

  7. SQL 随手记

    SQL 学习片段: 建立一个简单的联系数据表, mobile_number char(11).mobile_province nvarchar(50).mobile_area nvarchar(200 ...

  8. windows cmd 切换磁盘

    抛砖引玉 切换到D盘根目录——cd /d D: 切换到D:\dev目录——cd  /d  D:\dev

  9. Miller_Rabin素数测试【学习笔记】

    引语:在数论中,对于素数的研究一直就很多,素数测试的方法也是非常多,如埃式筛法,6N±1法,或者直接暴力判(试除法).但是如果要判断比较大的数是否为素数,那么传统的试除法和筛法都不再适用.所以我们需要 ...

  10. 最小生成树----prim算法的堆优化

    题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M<= ...