【Java】Base64加密与解密

在Java中,处理Base64编码和解码是非常直观和简便的。Java 8引入了java.util.Base64类,使得Base64编码和解码变得简单且高效。下面是使用Java进行Base64编码和解码的详细示例,包括编码和解码字符串以及字节数组。


博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【Java】Base64加密与解密

  • Base64 编码和解码示例
    • 1️⃣ 基本Base64编码和解码
    • 2️⃣ URL 安全的Base64编码和解码
    • 3️⃣ MIME 类型的Base64编码
  • Base64 编码和解码字节数组
  • 结论

【Java】Base64加密与解密_第1张图片

Base64 编码和解码示例

1️⃣ 基本Base64编码和解码

在Java中,编码和解码字符串的基本示例如下:

import java.util.Base64;

public class Base64Example {
    
    public static void main(String[] args) {
        // 原始字符串
        String originalString = "Base64 encoding in Java!";
        
        // 编码
        String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes());
        System.out.println("Encoded String: " + encodedString);
        
        // 解码
        byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
        String decodedString = new String(decodedBytes);
        System.out.println("Decoded String: " + decodedString);
    }
}

2️⃣ URL 安全的Base64编码和解码

URL安全的Base64编码不会产生URL中特殊字符,如+/,而是使用-_

import java.util.Base64;

public class Base64UrlExample {
    
    public static void main(String[] args) {
        // 原始字符串
        String originalString = "URL-Safe Base64 encoding in Java!";
        
        // URL安全的编码
        String encodedString = Base64.getUrlEncoder().encodeToString(originalString.getBytes());
        System.out.println("URL-Safe Encoded String: " + encodedString);
        
        // URL安全的解码
        byte[] decodedBytes = Base64.getUrlDecoder().decode(encodedString);
        String decodedString = new String(decodedBytes);
        System.out.println("URL-Safe Decoded String: " + decodedString);
    }
}

3️⃣ MIME 类型的Base64编码

在MIME类型的Base64编码中,输出被分成每行不超过76个字符,并以CRLF(\r\n)结尾。对于需要在MIME格式(如电子邮件)中传输的数据,这种编码方式很有用。

import java.util.Base64;

public class Base64MimeExample {
    
    public static void main(String[] args) {
        // 原始字符串
        String originalString = "MIME Base64 encoding in Java! This is a long string to demonstrate MIME encoding.";
        
        // MIME类型的编码
        String encodedString = Base64.getMimeEncoder().encodeToString(originalString.getBytes());
        System.out.println("MIME Encoded String: " + encodedString);
        
        // MIME类型的解码
        byte[] decodedBytes = Base64.getMimeDecoder().decode(encodedString);
        String decodedString = new String(decodedBytes);
        System.out.println("MIME Decoded String: " + decodedString);
    }
}

Base64 编码和解码字节数组

除了字符串,Base64类还可以处理字节数组,以下是一个示例:

import java.util.Base64;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;

public class Base64ByteArrayExample {
    
    public static void main(String[] args) {
        // 原始字节数组
        byte[] originalBytes = "Base64 byte array encoding in Java!".getBytes(StandardCharsets.UTF_8);
        
        // 编码字节数组
        byte[] encodedBytes = Base64.getEncoder().encode(originalBytes);
        System.out.println("Encoded Byte Array: " + Arrays.toString(encodedBytes));
        
        // 解码字节数组
        byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
        System.out.println("Decoded Byte Array: " + Arrays.toString(decodedBytes));
        System.out.println("Decoded String: " + new String(decodedBytes, StandardCharsets.UTF_8));
    }
}

结论

通过使用java.util.Base64类,可以轻松地在Java中执行Base64的编码和解码操作。编码和解码可以处理字符串和字节数组,还支持基本、URL安全和MIME类型的编码方式。掌握这些功能,有助于在开发过程中处理需要进行Base64操作的应用场景,如数据传输、存储等。

你可能感兴趣的:(#,Java,java,python,开发语言,base64)