按:以下內容很簡單,對Base64熟悉者無須往下看。
Base64是一種基于64個字符的編碼算法,最早用于解決電子郵件傳輸的問題,它的編碼和解碼操作可以充當加密和解密操作,其字符映射表就是其密鑰。但是,Base64算法及其密鑰都是公開的,因此不能被認為是安全的加密解密方法。
下面是其示例代碼:
package com.heyang.util;
import org.apache.commons.codec.binary.Base64;
/**
* 常規Base64加密解密實用工具類
* 說明:
* 作者:何楊(heyang78@gmail.com)
* 創建時間:2010-11-29 上午07:52:01
* 修改時間:2010-11-29 上午07:52:01
*/
public class Base64SecurityUtil{
/**
* 得到Base64加密后的字符串
*
* 說明:
* @param originalString
* @return
* 創建時間:2010-11-29 上午07:53:30
*/
public static String getEncryptString(String originalString){
byte[] arr = Base64.encodeBase64(originalString.getBytes(), true);
return new String(arr);
}
/**
* 得到Base64解密后的字符串
*
* 說明:
* @param encryptString
* @return
* 創建時間:2010-11-29 上午07:56:02
*/
public static String getDecryptString(String encryptString){
byte[] arr = Base64.decodeBase64(encryptString.getBytes());
return new String(arr);
}
/**
* 測試
*
* 說明:
* @param args
* 創建時間:2010-11-29 上午07:56:39
*/
public static void main(String[] args){
String str="Hello world!你好,世界。";
String str1=Base64SecurityUtil.getEncryptString(str);
System.out.println("經Base64加密后的密文為"+str1);
String str2=Base64SecurityUtil.getDecryptString(str1);
System.out.println("經Base64解密后的原文為"+str2);
}
}
輸出:
經Base64加密后的密文為SGVsbG8gd29ybGQhxOO6w6OsysC956Gj
經Base64解密后的原文為Hello world!你好,世界。