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加密处理的更多相关文章

  1. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  2. “不给力啊,老湿!”:RSA加密与破解

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 加密和解密是自古就有技术了.经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫 ...

  3. .NET 对接JAVA 使用Modulus,Exponent RSA 加密

    最近有一个工作是需要把数据用RSA发送给Java 虽然一开始标准公钥 net和Java  RSA填充的一些算法不一样 但是后来这个坑也补的差不多了 具体可以参考 http://www.cnblogs. ...

  4. AES加密

    package com.edu.hpu; import java.math.BigInteger; import java.security.MessageDigest; import java.se ...

  5. Android数据加密之MD5加密

    前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...

  6. PHP的学习--RSA加密解密

    PHP服务端与客户端交互或者提供开放API时,通常需要对敏感的数据进行加密,这时候rsa非对称加密就能派上用处了. 举个通俗易懂的例子,假设我们再登录一个网站,发送账号和密码,请求被拦截了. 密码没加 ...

  7. ASP.NET加密和解密数据库连接字符串

    大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...

  8. GPG终极指南(加密/签名)

    我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题. 背景介绍 加密的一个简单但又实用的任务就是发送加密电子邮件.多年来,为电子邮件进行加密的标准一直是 ...

  9. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

随机推荐

  1. SqlServer触发器判断对表操作类型(增、删、改)并将修改后的数据映射到新表

    该文章为原创,日后可能会根据实际开发经验和网友评论,进行相应地方修改,为获得最新博客动态,望在转发博客的时候注明出处. 触发器要实现的功能: (1)获取对表Table1数据操作操作类型(insert. ...

  2. mongoperf用法

    mongoperf是mongoDB自带工具,用于评估磁盘随机IO性能. 官方文档 使用方法 作用:用于部署前,评估mongodb所在存储的IO性能 用法:mongoperf <conffile, ...

  3. angularjs中ng-controller中绑定对象

    <!DOCTYPE HTML><html ng-app="myApp"><head><meta http-equiv="Cont ...

  4. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  5. 安装redis

    第一步 下载 第二步 解压 .tar.gz 第三步 make cd redis- make 第四步  启动试一下 src/redis-server 好了 :C Jan ::13.501 # Warni ...

  6. BaseAdapter日常的封装

    我们日常开发中BaseAdapter使用非常的多,大家有没有想过,再进一步封装,将平常使用的对象集合,利用泛型放入集合中,再也不用每次都重写那几个方法了,当然我也提供我的下载地址(https://gi ...

  7. tp

    ThinkPHP php框架 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分 ...

  8. $.Ajax({});方法使用 返回json格式 string格式

    //Json格式 $.ajax({ url: url + "?action=Save1", type: "post", dataType: "json ...

  9. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  10. 如何申请国际版Office365和Azure的试用账号

    关键字:国际版.Office365.Azure.试用账号.1美元.信用卡 待续