JAVA开发经验(二):常用工具类1.6-加解密-BASE64

摘要说明:

BASE64:Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。

Base64本质上是一种编码方式,但也可以用做对称式加解密方式;

Maven依赖:

	<dependencies>
		<!-- Apache Commons Codec软件包包含各种格式的简单编码器和解码器,如Base64和Hexadecimal。除了这些广泛使用的编码器和解码器之外,编解码器包还维护着一组语音编码实用程序。 -->
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
	</dependencies>

java工具类:

Base64Util主要包括base64编码及解码:

package com.tit.taf.encryption;

import java.io.UnsupportedEncodingException;

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

/**
 * 
 * @模块名:module_taf
 * @包名:com.tit.taf.encryption
 * @类名称: Base64Util
 * @类描述:【类描述】base64编码及解码
 * @版本:1.0
 * @创建人:cc
 * @创建时间:2018年7月27日下午3:31:25
 */
public class Base64Util {
    /**
     * 编码UTF_8
     */
    public static final String CODING_UTF_8 = "UTF-8";

    /**
     * 编码GB2312
     */
    public static final String CODING_GB2312 = "GB2312";

    /**
     * 
     * @方法名:encode
     * @方法描述【方法功能描述】base64编码并指定文本编码
     * @param s 待编码字符串
     * @param charset 字符串编码
     * @return 编码后字符串
     * @throws UnsupportedEncodingException
     * @修改描述【修改描述】
     * @版本:1.0
     * @创建人:cc
     * @创建时间:2018年7月27日 下午3:36:45
     * @修改人:cc
     * @修改时间:2018年7月27日 下午3:36:45
     */
    public static String encode(String s, String charset) throws UnsupportedEncodingException {
        return new String(Base64.encodeBase64(s.getBytes(charset)));
    }

    /**
     * 
     * @方法名:encode
     * @方法描述【方法功能描述】base64编码
     * @param s 待编码字符串
     * @return 编码后字符串
     * @修改描述【修改描述】
     * @版本:1.0
     * @创建人:cc
     * @创建时间:2018年7月27日 下午3:39:16
     * @修改人:cc
     * @修改时间:2018年7月27日 下午3:39:16
     */
    public static String encode(String s) {
        return new String(Base64.encodeBase64(s.getBytes()));
    }

    /**
     * 
     * @方法名:decode
     * @方法描述【方法功能描述】base64解码
     * @param s 待解码字符串
     * @return 解码后字符串
     * @修改描述【修改描述】
     * @版本:1.0
     * @创建人:cc
     * @创建时间:2018年7月27日 下午3:39:46
     * @修改人:cc
     * @修改时间:2018年7月27日 下午3:39:46
     */
    public static String decode(String s) {
        return new String(Base64.decodeBase64(s.getBytes()));
    }

    public static void main(String[] args) {
        try {
            System.out.println(Base64Util.encode("cc", Base64Util.CODING_UTF_8));
            System.out.println(Base64Util.decode("Y2M="));
        }
        catch (UnsupportedEncodingException e) {
            System.out.println(e);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/u010904188/article/details/82109088