Java的3种Base64加密方法

Java的3种Base64加密方法 , 分别是 jdk默认实现的加密方式, 使用cc的加密方式和使用bc的加密方式

import java.io.IOException;

import org.apache.commons.codec.binary.Base64;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/*使用jdk默认的base64加解密*/
		String str ="这是要加密的字符串,使用jdk";
		str = jdkBase64Encoder(str);
		System.out.println("加密后的字符串为:"+str);
		str = jdkBase64Decoder(str);
		if(str!=null)
		{
			System.out.println("解密后的字符串:"+str);
		}
		else
		{
			System.out.println("解密失败");
		}
		/*使用commons-codec的base64加解密*/
		str ="这是要加密的字符串,使用CC";
		str = CCBase64Encoder(str);
		System.out.println("加密后的字符串为:"+str);
		str=CCBase64Decoder(str);
		System.out.println("解密后的字符串为:"+str);
		/*使用bcprov的base64加解密*/
		str = "这是要加密的字符串,使用bc";
		str = BCBase64Endoer(str);
		System.out.println("加密后的字符串为:"+str);
		str = BCBase64Decoder(str);
		System.out.println(str);

	}

	/**
	 * 使用jdk的base64 加密字符串
	 * */
	public static String jdkBase64Encoder(String str)
	{
		BASE64Encoder encoder = new BASE64Encoder();
		String encode = encoder.encode(str.getBytes());
		return encode;
	}
	/**
	 * 使用jdk的base64 解密字符串
	 * 返回为null表示解密失败
	 * */
	public static String jdkBase64Decoder(String str)
	{
		BASE64Decoder decoder = new BASE64Decoder();
		String decode=null;
		try {
			decode = new String( decoder.decodeBuffer(str));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return decode;
	}

	/**
	 * 使用commons-codec的base64 加密字符串
	 * */
	public static String CCBase64Encoder(String str)
	{

		return new String(Base64.encodeBase64(str.getBytes()));
	}

	/**
	 * 使用commons-codec的base64 解密字符串
	 * */
	public static String CCBase64Decoder(String str)
	{
		return new String(Base64.decodeBase64(str.getBytes()));

	}

	/**
	 * 使用bcprov的base64加密字符串
	 * */
	public static String BCBase64Endoer(String str)
	{
	    byte[] arr =org.bouncycastle.util.encoders.Base64.encode(str.getBytes());

		return new String(arr);
	}

	/**
	 * 使用bcprov的base64加密字符串
	 * */
	public static String BCBase64Decoder(String str)
	{
		byte[] arr = org.bouncycastle.util.encoders.Base64.decode(str.getBytes());

		return new String(arr);
	}
}
时间: 2024-10-06 11:42:40

Java的3种Base64加密方法的相关文章

Java实现几种常见排序方法

转自:http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html 日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序,甚至还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经

【转】Java实现几种常见排序方法

http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html 日常操作中常见的排序方法有:冒泡排序.快速排序.选择排序.插入排序.希尔排序,甚至还有基数排序.鸡尾酒排序.桶排序.鸽巢排序.归并排序等. 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换

JAVA中三种URL连接方法

Java的网络类可以让你通过网络或者远程连接来实现应用.而且,这个平台现在已经可以对国际互联网以及URL资源进行访问了.Java的URL类可以让访问网络资源就像是访问你本地的文件夹一样方便快捷.我们通过使用Java的URL类就可以经由URL完成读取和修改数据的操作.现在,我们来看一看,如何才能发挥出URL类的效力. 通过URL进行工作 通过一个URL连接,我们就可以确定资源的位置,比如网络文件.网络页面以及网络应用程序等.其中包含了许多的语法元素.举个例子来说,请看下面这个URL连接: http

java的四种取整方法

java 中取整操作提供了四种方法:分别是: public static double ceil(double a)//向上取整  public static double floor(double a)//向下取整  public static long round(double a)//四舍五入取整  public static double rint(double a)//最近取整   第一种:ceil是天花板的意思,表示向上取整.   测试: System.out.println(Mat

JS_七种JAVASCRIPT加密/解密方法

本文一共介绍了七种JAVASCRIPT加密方法. 一:最简单的加密解密 二:转义字符的妙用 三:使用Microsoft出品的脚本编码器Script Encoder来进行编码 (自创简单解码) 四:任意添加NUL空字符(十六进制00H) (自创) 五:无用内容混乱以及换行空格TAB大法 六:自写解密函数法 七:错误的利用 在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JAVASCRIPT代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西

判断一个字符串是否进行了base64加密

通过长度以及base64加密方法(从base64组成入手) /** * 判断是否进行base64加密 * @param str * @return */ public static boolean checkBase64(String str){ if(str.length()%4!=0){ return false; } char[] charArray = str.toCharArray(); for (int i = 0; i < charArray.length; i++) { if(c

[转] Java中对数据进行加密的几种方法

加密算法有很多种:这里只大约列举几例: 1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹.MD5/SHA1发送给其他人你的信息和摘要,其他人用相同的加密方法得到摘要,最后进行比较摘要是否相同. 2:单匙密码体制:DES:比较简便高效,密钥简短,加解密速度快,破译极其困难,但其安全性依赖于密匙的安全性.DES(Data Encryption Standard)是发明最早的最广泛使用的分组对称加密算法.DES算法的入口参数有三个:Key.Data.Mode.其中Ke

一文让你轻松了解JAVA开发中的四种加密方法

文章目录 一.工具类 md5加密工具类 base64加密工具类 Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1. md5加密工具类 package 加密Tester.util; import java.security.MessageDigest; public class MD5Utils { private static final String hexDigIts[] = {"0","1&qu

URL中加入BASE64加密的字符串引起的问题(java.net.MalformedURLException:Illegal character in URL)

序 昨天在做一个 Demo 的时候,由于是调用第三方的接口,采用的是 HTTP 的通信协议,按照文档上的说明,需要把参数进行加密后加入到 URL 中,但是,就是这个看似普普通通的操作,却让我着实费了很大的劲. 背景 关于 BASE64,我不想说太多,因为这是很基本的一种编码方式,或者说是加密方式.不了解的可以到我前面的博客中去看看,关于加密,前边有一个系列的文章.下面说说出现这个问题的情景. 昨天拿到一个任务,写一个 Demo,目的是查询一系列的信息,当然,需要调用一个第三方的接口,根据接口文档