DbnBase64加密处理
package com.dbn.utils; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder; import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils; public class DbnBase64 {
public final static String ENCODING="UTF-8";
/**
* 数据BASE64加密字符串
* @param data:需要加密的字符串
* @param additionSymbol:加密干扰符
* @return
*/
public static byte[] encode(final String data,final String additionSymbol ) {
String finalData=data;
if(!StringUtils.isBlank(additionSymbol)){
finalData=finalData+additionSymbol;
}
return Base64.encodeBase64(finalData.getBytes());
} public static String stringEncode(final String data,final String additionSymbol ) throws UnsupportedEncodingException {
if(StringUtils.isBlank(data)){
return "";
}
return new String(encode(data, additionSymbol),ENCODING);
} /**
* 数据BASE64解码字符串
* @param data:加密后的字符串
* @param additionSymbol:干扰数据
* @return
* @throws UnsupportedEncodingException
*/
public static String decode(final String data,final String additionSymbol) throws UnsupportedEncodingException {
if(StringUtils.isBlank(data)){
return "";
}
byte[] decodeString=Base64.decodeBase64(data.getBytes(ENCODING));
if(!StringUtils.isBlank(additionSymbol)){
return new String(decodeString,ENCODING).replaceAll(additionSymbol, "");
}else{
return new String(decodeString,ENCODING);
}
} /**
* BASE64解密
*
* @param key
* @return
* @throws Exception
*/
public static byte[] decryptBASE64(String key) throws Exception {
return new Base64().decode(key.getBytes());
} /**
* BASE64加密
*
* @param key
* @return
* @throws Exception
*/
public static String encryptBASE64(byte[] key) throws Exception {
return new String(new Base64().encode(key));
} public static void main(String[] args) throws UnsupportedEncodingException {
/**/ /* System.out.println(decode("bGlyZW5iaW5nQG9hdC5hd2ViLmNvbS5jbmYxNjI5OTQzLWFhNmQtNDMyZS04ZjAwLTg3N2QyNDg0NjAwZA==",""));
System.out.println(decode("aHV5YW9qaW5Ab2F0LmF3ZWIuY29tLmNuZjE2Mjk5NDMtYWE2ZC00MzJlLThmMDAtODc3ZDI0ODQ2MDBk",""));
System.out.println(decode("MQ==",""));
System.out.println(decode("MA==",""));
System.out.println(decode("ZmlsbGlucHJpY2U=",""));
System.out.println(decode("eyJkYXRhIjp7ImNvbnRlbnQiOiLmgqjlpb3vvIzor7flj5HpgIHkvaDopoHmiqXku7flnLDljLrnmoTlkI3np7DmiJbogIXljLrlj7cifSwidHlwZSI6Imh0bWwifQ==",""));
System.out.println(stringEncode("fillinprice",""));*/ // String r1=new String(decode("NDA2NDM=", ""));
// System.out.println("r1="+r1);
// String hhh=new String(DbnBase64.encode("0139951048096731"+"@im.t.dbn.cn","f0e05b83-dbc3-4bfe-bd4c-34e442a9d032"),ENCODING);
// System.out.println("hhh="+hhh);
// System.out.println(decode("bGl5dWZ1YTQxM2Q3YzUtOGJmZS00MTIzLTk1MmEtOGI4OTFiMGYwM2Fm", "c35dfc04-9c5a-4e6b-ae27-a9ad10a0db68"));
// System.out.println(decode("MTM5NjQ5NDIxMTE5NTQ4Ng==", ""));
// String r1=new String(stringEncode("admin", ""));
// System.out.println("r1="+r1);
// String hhh=new String(DbnBase64.encode("3",""),ENCODING);
// System.out.println("hhh="+hhh);
// System.out.println(decode("bGl5dWZ1YTQxM2Q3YzUtOGJmZS00MTIzLTk1MmEtOGI4OTFiMGYwM2Fm", "c35dfc04-9c5a-4e6b-ae27-a9ad10a0db68"));
// System.out.println(decode("MQ==", ""));
// System.out.println(decode("Mg==", ""));
// System.out.println(decode("k4djVS8Z+aYXIG2hKaB86F2vhb10peAy9gcPGLOMx1+qNEGw6BMASWH0NtouD1mic\\/fGPQoTSFwW\\/99Y0uarF8qk\\/kp7XyIutNUkTXqfpqbqaCeDs2nndYl9Lu9a\\/ZCxDvWwTuopfgmai9627X6GVTSMyzE6Hj6\\/0cydtbN3yAs=", ""));
// System.out.println(URLEncoder.encode(stringEncode("oa","")));
// System.out.println((String)null);
// String r1=new String(DbnBase64.encode("songguopei",""),ENCODING);
// System.out.println("r1="+r1);
// String hhh=new String(DbnBase64.encode("你好!!",""),ENCODING);
// String hhh1 = stringEncode("随时随地查猪价","");
// System.out.println(decode("5p+l54yq5Lu3",""));
// System.out.println(decode("bG9va3ByaWNlQG9hdC5hd2ViLmNvbS5jbg==",""));
// System.out.println(decode("ZmlsbGlucHJpY2VAb2F0LmF3ZWIuY29tLmNu",""));
// System.out.println(decode("aGVscEBvYXQuYXdlYi5jb20uY24=",""));
// System.out.println(decode("aGFuZ3FpbmdiYW8=",""));
// System.out.println(decode("ZmlsbGlucHJpY2U=",""));
// System.out.println(stringEncode("fillinprice", ""));
// System.out.println(URLEncoder.encode(stringEncode("25788", "")));
// System.out.println(URLEncoder.encode(stringEncode("25788", ""),"UTF-8"));
//// System.out.println(decode("bGl5dWZ1YTQxM2Q3YzUtOGJmZS00MTIzLTk1MmEtOGI4OTFiMGYwM2Fm", "c35dfc04-9c5a-4e6b-ae27-a9ad10a0db68"));
// System.out.println(decode("aHR0cDovL2ZpbGUxLmF3ZWIuY29tLmNuLy8yMDE0LzEvMTMvNzUwLmpwZw==", ""));
// System.out.println(decode("y+bKscvmtdiy6dbtvNs=", "")); //System.out.println("---"+stringEncode("liyufu", "f4f4698f-60f7-498a-bd1e-1fe0f903552d"));
//System.out.println(decode("bGl5dWZ1ZjRmNDY5OGYtNjBmNy00OThhLWJkMWUtMWZlMGY5MDM1NTJk", "f4f4698f-60f7-498a-bd1e-1fe0f903552d"));
/*String r2=DbnBase64.decode(r1,null);
System.out.println("r2="+r2);*/
String str =DbnBase64.decode("eyJyIjoiMDA0MDAyIiwidiI6IjEiLCJkIjp7ImF0dHJzIjp7Im1vYmlsZVBob25lIjoiMTg1MTUyMjIwNjciLCJzdGFydFRpbWUiOjE0NDg0MjA0MDAwMDAsImVuZFRpbWUiOjE1NDE3NDY0MTgwMDB9fX0=","");
System.out.println(new String(Base64.decodeBase64("eyJkIjp7ImF0dHJzIjp7fSwiZG9tYWlucyI6eyJhZGRDaXJjbGUiOlt7ImlkIjoiNDciLCJpbWdVcmwiOiJodHRwOi8vZmlsZXMudC5ueGluLmNvbS9wdWJsaWMveXVhbnR1LzIwMTUvMTIvMTIvMWIvMjEwNjA1YWQtNjczZi00ZjUxLWEyMzYtYmE5Yjg1ZGJmOTI5LnBuZyIsIm5hbWUiOiLLrrW+yKYiLCJwb3N0VHlwZUxpc3QiOlt7ImlkIjoiMSIsIm5hbWUiOiLG1c2ozPkifSx7ImlkIjoiNCIsIm5hbWUiOiLH87m6zPkifSx7ImlkIjoiNSIsIm5hbWUiOiK5qdOmzPkifSx7ImlkIjoiNiIsIm5hbWUiOiK8vMr1zPkifSx7ImlkIjoiNyIsIm5hbWUiOiLH89awzPkifSx7ImlkIjoiOCIsIm5hbWUiOiLV0Ma4zPkifV0sInN1YnRpdGxlIjois/q6zMjVIn0seyJpZCI6IjQ5IiwiaW1nVXJsIjoiaHR0cDovL2ZpbGVzLnQubnhpbi5jb20vcHVibGljL3l1YW50dS8yMDE1LzEyLzEyLzg4L2Q3MzY0ZGQ5LWFlYWQtNDNlYy05M2Y0LWJlZTIzODE4MDViMi5qcGciLCJuYW1lIjoi1vHB1simIiwicG9zdFR5cGVMaXN0IjpbeyJpZCI6IjEiLCJuYW1lIjoixtXNqMz5In0seyJpZCI6IjQiLCJuYW1lIjoix/O5usz5In0seyJpZCI6IjUiLCJuYW1lIjoiuanTpsz5In0seyJpZCI6IjgiLCJuYW1lIjoi1dDGuMz5In1dLCJzdWJ0aXRsZSI6ItKw1vHB1iJ9LHsiaWQiOiI0OCIsImltZ1VybCI6Imh0dHA6Ly9maWxlcy50Lm54aW4uY29tL3B1YmxpYy95dWFudHUvMjAxNS8xMi8xMi9hMS9hYmI2YWI3MC00ZjRhLTQxMTQtOTZiMC02MzFjNWIzYWY0YzcuanBnIiwibmFtZSI6IszSu6jIpiIsInBvc3RUeXBlTGlzdCI6W3siaWQiOiIxIiwibmFtZSI6IsbVzajM+SJ9LHsiaWQiOiI0IiwibmFtZSI6IsfzubrM+SJ9LHsiaWQiOiI1IiwibmFtZSI6Irmp06bM+SJ9LHsiaWQiOiI4IiwibmFtZSI6ItXQxrjM+SJ9XSwic3VidGl0bGUiOiLM9Luosf2hotP2zPS7qCJ9XX19LCJtIjoiIiwiciI6IjAifQ==".getBytes(ENCODING)) ,"GBK")); // Syso
//System.out.println(decode("dddddd", ""));
//System.out.println(decode(URLDecoder.decode("MTEzOTk2ODU1NjQzOTY2MkBvYXQuYXdlYi5jb20uY25kNjBmZWMwNC0yYTlkLTRmZjItOGEyYi0xZTJiODNmYzRkMjI%3D"),"d60fec04-2a9d-4ff2-8a2b-1e2b83fc4d22"));
} }
DbnBase64加密处理的更多相关文章
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- “不给力啊,老湿!”:RSA加密与破解
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 加密和解密是自古就有技术了.经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫 ...
- .NET 对接JAVA 使用Modulus,Exponent RSA 加密
最近有一个工作是需要把数据用RSA发送给Java 虽然一开始标准公钥 net和Java RSA填充的一些算法不一样 但是后来这个坑也补的差不多了 具体可以参考 http://www.cnblogs. ...
- AES加密
package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...
- Android数据加密之MD5加密
前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...
- PHP的学习--RSA加密解密
PHP服务端与客户端交互或者提供开放API时,通常需要对敏感的数据进行加密,这时候rsa非对称加密就能派上用处了. 举个通俗易懂的例子,假设我们再登录一个网站,发送账号和密码,请求被拦截了. 密码没加 ...
- ASP.NET加密和解密数据库连接字符串
大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...
- GPG终极指南(加密/签名)
我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题. 背景介绍 加密的一个简单但又实用的任务就是发送加密电子邮件.多年来,为电子邮件进行加密的标准一直是 ...
- RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密
最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...
随机推荐
- vue.js 学习笔记
/*属性*/ 标签内的属性都用 :attr="xxx" 的形式 /*模板*/ {{ msg }} -> 绑定数据 {{ *msg }} -> 数据只绑定一次 {{{ m ...
- C# EF增删改查
1.增 //1.创建一个EF数据上下文对象 MyDBEntities context=new MyDBEntities(); //2.将要添加的数据,封装成对象 Users user = new Us ...
- RabbitMQ学习之集群部署
我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集群前增加一个反向代理,生产者.消费者通过反向代理访问RabbitMQ集群. 架构图如下: 设计架构可以如下:在一个集 ...
- 使用CXF框架集成Spring实现SOAP Web Service
- Windows Server 2008 R2 域控服务器运行nslookup命令默认服务器显示 UnKnown
一.问题: 域控服务器DOS窗口运行nslookup命令提示如下: 二.原因分析: 主要原因在于域控服务器的DNS服务器没有设置反向查找区域,计算机名称是通过IP地址反向查找到域控服务器的计算机名称. ...
- GPS部标平台的架构设计(十)-基于Asp.NET MVC构建GPS部标平台
在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的 ...
- DNS压力测试工具dnsperf简介
dnsperf是我最近写的一个开源的DNS压力测试工具,用户可以用它来对DNS服务器或者Local DNS做压力测试.dnsperf目前的实现是单进程模式,通过epoll非阻塞地处理网络事件. dns ...
- TIJ——Chapter Five:Initialization & Cleanup
Method overloading |_Distinguishing overloaded methods If the methods hava the same name, how can Ja ...
- MATLAB入门教程
MATLAB入门教程 1.MATLAB的基本知识 1-1.基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...
- 纯css的防止图片撑破页面的代码(图片自动缩放)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...