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;
}
}
Java原生隐藏字符-工具类的更多相关文章
- 基于JAVA原生HTTP请求工具类 httphelper
原文地址;http://lushuifa.iteye.com/blog/2313896 import java.io.BufferedReader; import java.io.BufferedWr ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
- JAVA自动生成正则表达式工具类
经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...
- Java 后台验证的工具类
Java 后台验证的工具类 public class ValidationUtil { //手机号 public static String mobile = "^( ...
- Java日期时间实用工具类
Java日期时间实用工具类 1.Date (java.util.Date) Date(); 以当前时间构造一个Date对象 Date(long); 构造函数 ...
- Rhino+envjs-1.2.js 在java运行网站js 工具类
java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...
- Java学习-041-颜色工具类(RGB,HEX)
在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...
- JAVA中封装JSONUtils工具类及使用
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
随机推荐
- 内联函数背景、例子、与普通函数的区别及要注意的地方 ------新标准c++程序设计
背景: 使用函数能够避免将相同代码重些多次的烦恼,还能减少可执行程序的体积,但也会带来程序运行时间上的开销.函数调用在执行时,首先在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下 ...
- Intellij IDEA神器那些让人爱不释手的小技巧
完整的IDEA使用教程,GitHub地址: https://github.com/judasn/IntelliJ-IDEA-Tutorial 概述 之前写了一篇介绍IntellIJ IDEA的文章 ...
- phpstudy 部署php项目
网站根目录
- python 时间相关函数
python 中与时间处理相关的模块包括 time.datetime.以及 calendar time 模块 time() 函数:time() 函数用于返回当前时间的时间戳(1970年01月08时00 ...
- spring 学习(三):aop 学习
spring 学习(三):aop 学习 aop 概念 1 aop:面向切面(方面)编程,扩展功能不修改源代码实现 2 AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码 3 aop底层使用动态代 ...
- 【BZOJ3589】动态树 树链剖分+线段树
Description 别忘了这是一棵动态树, 每时每刻都是动态的. 小明要求你在这棵树上维护两种事件 事件0: 这棵树长出了一些果子, 即某个子树中的每个节点都会长出K个果子. 事件1: 小明希望你 ...
- Python实现——二次多项式回归(最小二乘法)
2019/3/25 真的,当那个图像出现的时候,我真的感觉太美了. 或许是一路上以来自我的摸索加深的我对于这个模型的感受吧. 二次函数拟合--最小二乘法公式法 与线性回归相似,对二次函数进行拟合某种意 ...
- mvc 请求处理管道
原文 http://blog.csdn.net/wulex/article/details/41514795 当一个asp.net mvc应用程序提出请求,为了响应请求,包含一些请求执行流程步骤! 在 ...
- 字符串变dict
1.eval 2.json # NameError: name # 'null' is not defined # i_dict=eval(i) 这种方式,如果dict字符串中有null ,将不能变成 ...
- CentOS 6.* 安装node
CentOS6 安装node 使用node -v 是报错 ./node: error while loading shared libraries: libstdc++.so.6: cannot op ...