使用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. purple-class2-默认选项切换

    ylbtech-class:purple-class2 A, 返回顶部 1,默认选项切换 #region 默认选项切换 public delegate IList<SelectListItemI ...

  2. ylbtech-LanguageSamples-Unsafe(不安全代码)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Unsafe(不安全代码) 1.A,示例(Sample) 返回顶部 “不安全代码”示例 ...

  3. 两个Python web框架:Django & Tornado比较

    就是说它作为 web 框架比 Django 简单,又支援异步 IO,且更不需要前端的 webserver ? 我已经混乱了, Tornado是 Nginx.Django.Node.js 的结合体?又或 ...

  4. mysql特有语法

    1.插入多条记录insert into test.new_table(t1) values('1'), ('2'); 2.复制表结构及数据 create table test.tb2 SELECT * ...

  5. 使用Topshelf 5步创建Windows 服务 z

    使用Topshelf创建Windows 服务简要的介绍了创建Windows服务的另一种方法,老外的一篇文章Create a .NET Windows Service in 5 steps with T ...

  6. 解决CI框架的Disallowed Key Characters错误提示

    用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示.有人说 url 里有非法字符.但是确定 url 是纯英文的,问题还是出来了.但清 ...

  7. oracle查看数据库的字符集

    注意如果是从旧的数据库复制,一定要保证字符集使用一模一样的,不然会有很多问题(比如汉字在UTF8占3个字符,在GBK占2个字符,所以设置的列宽度要比原来的大才行,不然就会报值太大的错误) select ...

  8. C++学习48 对ASCII文件的读写操作

    如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...

  9. java io操作常规

    1.四种类型: 字节流: InputStream OutputStream 字符流: Reader Writer 2.转换流 InputStreamReader, OutPutStreamWriter ...

  10. [ActionScript 3.0] Away3D 天空盒(skybox)例子2

    所谓skybox就是六个面即六张图能够无缝的拼成一个正方体的盒子. package { import away3d.cameras.Camera3D; import away3d.cameras.le ...