java base64

作者:原创时间:2022-03-24
文档

java base64是什么,让我们一起了解一下?

Base64是一种编码方法,要求把每三个8Bit的字节转换为四个6Bit的字节,转换之后的这四个字节中每6个有效bit为有效数据,空余的那两个bit用0补上成为一个字节。

为什么要使用Base64?

Base 64主要用途不是加密,而是把一些二进制数转成普通字符,方便在网络上传输。 由于一些二进制字符在传输协议中属于控制字符,不能直接传送,所以需要转换一下才可以。由于某些系统中只能使用ASCII字符,Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,Base64特别适合在http,mime协议下快速传输数据。

比如网络中图片的传输Base64,并非安全领域下的加密解密算法。虽然经常遇到所谓的base64的加密解密。但base64只能算是一个编码算法,对数据内容进行编码来适合传输。虽然base64编码过后原文也变成不能看到的字符格式,但是方式初级又简单。

那在Java中想要实现Base64的加解密,有哪些方式?

主要有以下四种(推荐度由低到高):

1、JDK中的sun.misc套件。

2、第三方扩展包 bouncy castle。

3、第三方扩展包 commons codec。

4、JDK8及更高版本中的 java.util.Base64。

实战操作,JDK实现代码如下:

import sun.misc.BASE64Decoder;  
import sun.misc.BASE64Encoder;  
/** * BASE64加密解密 */  
public class BASE64 {  
    /** * BASE64解密 * @param key * @return * @throws Exception */  
    public static byte[] decryptBASE64(String key) throws Exception {  
        return (new BASE64Decoder()).decodeBuffer(key);  
    }  
    /** * BASE64加密 * @param key * @return * @throws Exception */  
    public static String encryptBASE64(byte[] key) throws Exception {  
        return (new BASE64Encoder()).encodeBuffer(key);  
    }  
    public static void main(String[] args) throws Exception {  
        String data = BASE64.encryptBASE64("http://aub.iteye.com/".getBytes());  
        System.out.println("加密前:" + data);  
        byte[] byteArray = BASE64.decryptBASE64(data);  
        System.out.println("解密后:" + new String(byteArray));  
    }  
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java base64decoder java bean 手机充电时可以玩手机吗 手机充电发热发烫是什么原因 java beanutils java benchmark java bigdecimal excel表格怎么合并单元格 java binary java binder win10c盘满了怎么清理 java binlog 如何清理win10电脑c盘 java bit java blob java break wps怎么求和 java bufferedimage java bufferedoutputstream java build.gradle java barrier java bacnet win10专业版和企业版的区别 java async java assembly java aspose java aspectj java asmx java ascii java arrays.sort java args java arctan java arccos java arcsin java archive java apriori java application java append 苹果13蓝牙搜索不到设备怎么办 java apns