欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java BASE64Encoder详细介绍及简单实例

程序员文章站 2024-03-08 16:51:04
java  base64encoder详解 base64是网络上最常见的用于传输8bit字节代码的编码方式之一,在发送电子邮件时,服务器认证的用户名和密码需要用...

java  base64encoder详解

base64是网络上最常见的用于传输8bit字节代码的编码方式之一,在发送电子邮件时,服务器认证的用户名和密码需要用base64编码,附件也需要用base64编码。

base64要求把每三个8bit的字节转换为四个6bit的字节(3*8 = 4*6 = 24),然后把6bit再添两位高位0,组成四个8bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。

原文的字节最后不够3个的地方用0来补足,转换时base64编码用=号来代替。这就是为什么有些base64编码会以一个或两个等号结束的原因,但等号最多只有两个。

java代码实现:

base64encoder和base64decoder两个方法都是sun公司的内部方法,并没有在java api中公开过,所以使用这些方法是不安全的,将来随时可能会从中去除,所以相应的应该使用替代的对象及方法

eclipse中不到base64encoder的解决方法:按照如下方法设置eclipse导入%java_home%\jre\lib目录下的rt.jar包即可,project->properties,选择java build path设置项,再选择libraries标签,add external jars添加%java_home%\jre\lib\rt.jar就可以使用啦!

base64.java

<span style="font-family:times new roman;font-size:14px;">package cn.hncu.encoder; 
import java.io.ioexception; 
import sun.misc.base64decoder; 
import sun.misc.base64encoder; 
 
public class base64 { 
  public static void main(string[] args) { 
    try { 
    string name="我爱你"; 
    string pwd="你却不知道。"; 
    base64encoder en=new base64encoder(); 
    name=en.encode(name.getbytes("utf-8"));//5oir54ix5l2g 
    pwd=en.encode(pwd.getbytes("utf-8"));//5l2g5y205lin55+l6ygt44cc 
    system.out.println(name+","+pwd); 
     
    base64decoder den=new base64decoder(); 
    name=new string(den.decodebuffer(name),"utf-8"); 
    pwd=new string(den.decodebuffer(pwd),"utf-8"); 
    system.out.println(name+","+pwd); 
    } catch (ioexception e) { 
      e.printstacktrace(); 
    } 
  } 
} 
</span> 

java  BASE64Encoder详细介绍及简单实例

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!