将手机号,银行卡,身份证只显示前三位和后四位。为了保护用户的信息
2016-03-01 15:59
423 查看
/*
* 隐藏中间位,首尾各保留3位
* @param map 传入Map集合
* @param key 传入需要加密value所对应map中的key数组
* @return map 返回处理后的Map
*/
public static Map<String, String> infoEncryption(Map<String, String> map,String ...key){
try {
if(key == null || key.length<1 || map == null || map.isEmpty())
return map;
for(int i=0;i<key.length;i++){
String value = map.get(key[i]);
if(StringUtils.isEmpty(value)||value.length()<10){
continue;
}else{
map.put(key[i], BankCardUtil.hideMiddleExtend(value));
}
}
return map;
} catch (Exception e) {
return null;
}
}
public static String hideMiddleExtend(String number) {
Preconditions.checkArgument(number.length() > 10);
int startCount = number.length() - 6;
StringBuilder sbBuilder = new StringBuilder("*");
for (int i = 1; i < startCount; i++) {
sbBuilder.append("*");
}
return StringUtils.overlay(number, sbBuilder.toString(), 3, number.length() - 3);
}
* 隐藏中间位,首尾各保留3位
* @param map 传入Map集合
* @param key 传入需要加密value所对应map中的key数组
* @return map 返回处理后的Map
*/
public static Map<String, String> infoEncryption(Map<String, String> map,String ...key){
try {
if(key == null || key.length<1 || map == null || map.isEmpty())
return map;
for(int i=0;i<key.length;i++){
String value = map.get(key[i]);
if(StringUtils.isEmpty(value)||value.length()<10){
continue;
}else{
map.put(key[i], BankCardUtil.hideMiddleExtend(value));
}
}
return map;
} catch (Exception e) {
return null;
}
}
public static String hideMiddleExtend(String number) {
Preconditions.checkArgument(number.length() > 10);
int startCount = number.length() - 6;
StringBuilder sbBuilder = new StringBuilder("*");
for (int i = 1; i < startCount; i++) {
sbBuilder.append("*");
}
return StringUtils.overlay(number, sbBuilder.toString(), 3, number.length() - 3);
}
相关文章推荐
- Andorid APK反逆向解决方案:梆梆加固原理探寻
- Eclipse常用的快捷键在AS中的对应
- Azure PowerShell 1.0.0以上版本在中国Azure使用的注意事项
- C++ 虚函数表解析
- MVP in Android
- Android中ListView右边的导航栏自定义
- Java进阶06 容器
- 1.1土到爆的HelloWorld
- Java多态性理解
- [嵌入式开发板]iTOP-4412开发板linux 系统存储空间的修改
- 关于toggle的用法
- Raspberry pi raspbain source mirror
- 让nginx支持HLS
- go liteIDE
- mybatis与spring整合案例
- Linux防火墙之tcpwraps介绍使用
- CentOS CVS安装使用
- 《数据结构》只设置尾指针而不设置头指针的讯循环链表的合并
- 旧作:民科的一个样本--反重力和引力波董长军师傅
- POJ 3180 The Cow Prom【强连通分量分解】