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的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...
随机推荐
- h5的离线缓存机制
什么是Manifest: 其实Manifest是一个简单的 文本文件,它的扩展名是任意的,定义需要缓存的文件.资源,当第一次打开时,浏览器会自动缓存相应的资源. Manifest 的特点: 离线浏览: ...
- SpringSecurity操作指南-基于Spring、SpringMVC和MyBatis自定义SpringSecurity权限认证规则
- linux 安装配置Nginx
简介: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国 ...
- [CC]LOD技术
ccGLWindow::paintGL() | ccGLWindow::fullRenderingPass(...) | ccGLWindow::drawBackground(context, ren ...
- MVC之权限管理-网站开发之路
一.前言 刚到公司没多长时间就开始接触MVC到现在不能说懂了,只能说到达会用这个层次吧,感觉MVC用来写Web还是很强大的,层次清晰. 今天我来写写关于权限管理这一块,自我感觉网站的权限主要分为菜单权 ...
- 移动端rem实现响应布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- let和const命令//////////////////////z
let和const命令 let命令 块级作用域 const命令 全局对象的属性 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的 ...
- Docker的容器创建以及基本命令
1. 使用docker run创建docker容器,(docker命令都是以docker开头的)安装完docker后,大多数情况下,本机上面一般没有docker镜像的,执行docker run的时候一 ...
- Caffe + Ubuntu 14.04 64bit + 无CUDA(linux下安装caffe(无cuda)以及python接口)
安装Caffe指导书 环境: Linux 64位 显卡为Intel + AMD,非英伟达显卡 无GPU 一. 安装准备工作 1. 以管理员身份登录 在左上角点击图标,搜索terminal(即终端),以 ...
- 盒子模型(W3C盒子模型、IE盒子模型)
盒子模型:一个物体在页面中所占据的位置 盒子模型包含以下几种元素: padding:margin:content:border 这是大家都知道的,也是书本上定义说明的,但是在ie的情况下是有点区别的; ...