1. 程式人生 > >Java Base64 加密/解密

Java Base64 加密/解密

tex java ext nco nload utf desc exception itl

Base64常用來表示字串加密過後的內容,使用Java 程式語言來實作Base64的編碼與解碼功能

1.在Java上做Base64的編碼與解碼,會使用到JDK裏sun.misc套件下的BASE64Encoder和BASE64Decoder這兩個類別,代碼如下

2.Apache Commons Codec有提供Base64的編碼與解碼功能,使用到org.apache.commons.codec.binary套件下的Base64類別

  http://commons.apache.org/proper/commons-codec/download_codec.cgi 下載commons-codec-1.11-bin代碼

3.java 8的java.util套件中,新增了Base64的類別,可以用來處理Base64的編碼與解碼

package com.test;

import org.apache.commons.codec.binary.Base64;
import org.junit.Test;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

/**
 * @author ceshi
 * @Title: JUnitBase64
 * @ProjectName ceshi
 * @Description: TODO
 * @date 2018/6/1320:59
 
*/ public class JUnitBase64 { @Test public void test()throws Exception{ //BASE64Encoder BASE64Encoder encoder = new BASE64Encoder(); BASE64Decoder decoder = new BASE64Decoder(); String text = "你好!"; byte[] textByte = text.getBytes("UTF-8"); //編碼 String encodedText = encoder.encode(textByte); System.out.println(encoder.encode(text.getBytes(
"UTF-8")); //解碼 System.out.println(new String(decoder.decodeBuffer(encodedText), "UTF-8")); //Apache Commons Codec Base64 base64 = new Base64(); textByte = text.getBytes("UTF-8"); //編碼 encodedText = base64.encodeToString(textByte); System.out.println(encodedText); //解碼 System.out.println(new String(base64.decode(encodedText), "UTF-8")); //Java 8 Base64.Decoder decoder = Base64.getDecoder(); Base64.Encoder encoder = Base64.getEncoder(); //編碼 encodedText = encoder.encodeToString(textByte); System.out.println(encodedText); //解碼 System.out.println(new String(decoder.decode(encodedText), "UTF-8")); } }

Java Base64 加密/解密