使用JDK的类 BASE64Decoder  BASE64Encoder

  1. package test;
  2. import sun.misc.BASE64Decoder;
  3. import sun.misc.BASE64Encoder;
  4. /**
  5. * BASE64加密解密
  6. */
  7. public class BASE64
  8. {
  9. /**
  10. * BASE64解密
  11. * @param key
  12. * @return
  13. * @throws Exception
  14. */
  15. public static byte[] decryptBASE64(String key) throws Exception {
  16. return (new BASE64Decoder()).decodeBuffer(key);
  17. }
  18. /**
  19. * BASE64加密
  20. * @param key
  21. * @return
  22. * @throws Exception
  23. */
  24. public static String encryptBASE64(byte[] key) throws Exception {
  25. return (new BASE64Encoder()).encodeBuffer(key);
  26. }
  27. public static void main(String[] args) throws Exception
  28. {
  29. String para = "{\"IdList1\": 1,\"IdList2\": [1,2,3,4,5,6,18],\"IdList3\": [1,2]}";
  30. String data = BASE64.encryptBASE64(para.getBytes());
  31. System.out.println("加密前:"+data);
  32. byte[] byteArray = BASE64.decryptBASE64(data);
  33. System.out.println("解密后:"+new String(byteArray));
  34. }
  35. }

使用Apache commons codec 类Base64获取【下载地址】

  1. package test;
  2. import java.io.UnsupportedEncodingException;
  3. import org.apache.commons.codec.binary.Base64;
  4. public class Base64Util {
  5. public static String encode(byte[] binaryData) throws UnsupportedEncodingException {
  6. return new String(Base64.encodeBase64(binaryData), "UTF-8");
  7. }
  8. public static byte[] decode(String base64String) throws UnsupportedEncodingException {
  9. return Base64.decodeBase64(base64String.getBytes("UTF-8"));
  10. }
  11. public static void main(String[] args) throws UnsupportedEncodingException {
  12. String para = "{\"IdList1\": 1,\"IdList2\": [1,2,3,4,5,6,18],\"IdList3\": [1,2]}";
  13. String data = Base64Util.encode(para.getBytes());
  14. System.out.println("加密前:"+data);
  15. byte[] byteArray = Base64Util.decode(data);
  16. System.out.println("解密后:"+new String(byteArray));
  17. }
  18. }

Java Base64 加密解密的更多相关文章

  1. password学3——Java BASE64加密解密

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之中的一个,大家能够查看RFC2045-RFC2049.上面有MIME的具体规范.Base64编码可用于在HTTP环境下传递较长的标识信息 ...

  2. Java Base64加密解密

    使用Apache commons codec 类Base64 maven依赖 <dependency> <groupId>commons-codec</groupId&g ...

  3. Java Base64 加密/解密

    Base64常用来表示字串加密过后的内容,使用Java 程式语言来实作Base64的编码与解码功能 1.在Java上做Base64的编码与解码,会使用到JDK里sun.misc套件下的BASE64En ...

  4. Java中使用BASE64加密&解密

    package com.bao.tools.encryption; import java.io.IOException; import org.junit.Test; import sun.misc ...

  5. Java Base64加密、解密原理Java代码

    Java Base64加密.解密原理Java代码 转自:http://blog.csdn.net/songylwq/article/details/7578905 Base64是什么: Base64是 ...

  6. Java android DES+Base64加密解密

    服务器与客户端加密解密传输, 中间遇到各种坑,客户端无论用AES还是DES解密时都会出现错误,后来才看到好多人说要用AES/DES加完密后还要BASE64加密,照做时发现android和java的Ba ...

  7. Java语言实现 Base64 加密 & 解密

    Java语言实现 Base64 加密 & 解密 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64 ...

  8. 使用jframe编写一个base64加密解密工具

    该工具可以使用exe4j来打包成exe工具(如何打包自己百度) 先上截图功能 运行main方法后,会弹出如下窗口 输入密文 然后点击解密,在点格式化 代码分享 package tools;import ...

  9. C# 实现 JAVA AES加密解密[原创]

    以下是网上普遍能收到的JAVA AES加密解密方法. 因为里面用到了KeyGenerator 和 SecureRandom,但是.NET 里面没有这2个类.无法使用安全随机数生成KEY. 我们在接收J ...

随机推荐

  1. $.ajax()中dataType

    $.ajax()中dataType的默认值为TEXT,如果没有指明json,而返回来的数据又就是json格式,则无法显示.!!

  2. IP地址漂移的实现与原理

    当前备份软件比较流行,其中用到的关键技术是IP 地址漂移, 实际上IP地址漂移技术是利用共享的“虚拟”IP地址,当本地进行节点切换与路由切换,使另一端的发送和收方端没有感觉到本地节点地址有变化,保证了 ...

  3. $.extend()和$.fn.extend()用法和区别

    $.extend()和$.fn.extend()用法和区别: 在自己制作插件的时候会经常用到$.extend()和$.fn.extend()两个函数,无论从外观还是作用都非常的类似,但是实际上它们的区 ...

  4. Yii 2.0 单文件上传

    先创建一个(UploadForm.php)模型层 <?phpnamespace app\models; use yii\base\Model;use yii\web\UploadedFile; ...

  5. java多线程之计算数量

    package Thread.Abort; import java.util.ArrayList; import java.util.List; import java.util.Random; im ...

  6. bootstrap-导航、选项卡

    导航: <!-- nav 导航的基础样式 --> <div class="container"> <div class="row" ...

  7. [ActionScript 3.0] as3可以通过CDATA标签声明多行字符串

    var str:String=<![CDATA[YANSHUANGPING yanshuangping yanshuangping ]]>; trace(str); var myname: ...

  8. POJ 2352 【树状数组】

    题意: 给了很多星星的坐标,星星的特征值是不比他自己本身高而且不在它右边的星星数. 给定的输入数据是按照y升序排序的,y相同的情况下按照x排列,x和y都是介于0和32000之间的整数.每个坐标最多有一 ...

  9. 解决IllegalStateException: Can not perform this action after onSaveInstanceState

    今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState ...

  10. 利用canvas实现的中点Bresenham算法

    Bresenham提出的直线生成算法的基本原理是,每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别,具体的实现过程大家可以去问度娘.我主要是利用canvas画布技术实现了这个 ...