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

本文提供了一个使用Java进行Base64编码和解码的简单示例,包括如何处理UTF-8编码的字符串,并展示了如何在Eclipse中解决由于使用了受限API而产生的警告。
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 Files\Java\jre1.6.0_02\lib\rt.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.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值