牛骨文教育服务平台(让学习变的简单)
博文笔记

利用Java自带的Base64加密,解密

创建时间:2016-04-28 投稿人: 浏览次数:8508
package com;

import java.io.UnsupportedEncodingException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class Demo {
	
	public static void main(String[] args) {
		String str = "zhang";
		String base64=getBase64(str);
		System.out.println(base64);
		String res = getFromBase64(base64);
		System.out.println(res);
	}
	//加密
	public static String getBase64(String str){
		byte[] b=null;
		String s=null;
		try {
			b = str.getBytes("utf-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		if(b!=null){
			s=new BASE64Encoder().encode(b);
		}
		return s;
	}
	// 解密  
    public static String getFromBase64(String s) {  
        byte[] b = null;  
        String result = null;  
        if (s != null) {  
            BASE64Decoder decoder = new BASE64Decoder();  
            try {  
                b = decoder.decodeBuffer(s);  
                result = new String(b, "utf-8");  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
        return result;  
    }  

}

如果编译器报错的话,

Access restriction: The method encode(byte[]) from the type CharacterEncoder is not accessible due to restriction on required library C:Program FilesJavajre1.6.0_02lib t.jar

 

调用BASE64Encoder和BASE64Decoder时出现错误

 

解决方法如下

 

eclipse下Window-->Preferences-->Java-->Compiler-->Error/Warnings.
Select Deprecated and Restricted API. Change it to warning.
Change forbidden and Discouraged Reference and change it to warning. (or as your need.


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。