欢迎访问宙启技术站
智能推送

如何使用Java函数实现base64加密解密的功能?

发布时间:2023-11-18 16:13:31

Base64是一种常用的编码方式,可以将二进制数据编码为可打印的ASCII字符,常用于通信和数据存储。在Java中,可以使用Base64类提供的方法来实现base64加密解密的功能。

1. Base64编码:将二进制数据编码为Base64字符串

1.1 导入Base64类:import java.util.Base64;

1.2 创建Base64.Encoder对象:Base64.Encoder encoder = Base64.getEncoder();

1.3 调用encodeToString方法进行编码:String encodedString = encoder.encodeToString(binaryData);,其中binaryData为要编码的二进制数据的字节数组。

1.4 编码后的Base64字符串即为encodedString

2. Base64解码:将Base64字符串解码为二进制数据

2.1 导入Base64类:import java.util.Base64;

2.2 创建Base64.Decoder对象:Base64.Decoder decoder = Base64.getDecoder();

2.3 调用decode方法进行解码:byte[] decodedData = decoder.decode(encodedString);,其中encodedString为要解码的Base64字符串。

2.4 解码后的二进制数据即为decodedData

下面是一个完整的示例代码,演示了如何使用Java函数实现base64加密解密的功能:

import java.util.Base64;

public class Base64Demo {

    public static void main(String[] args) {
        String data = "Hello, World!"; // 要加密的原始数据

        // 加密
        String encodedString = encrypt(data);
        System.out.println("Encoded String: " + encodedString);

        // 解密
        String decodedString = decrypt(encodedString);
        System.out.println("Decoded String: " + decodedString);
    }

    public static String encrypt(String data) {
        // 将字符串转换为字节数组
        byte[] byteData = data.getBytes();
        // 创建Base64.Encoder对象
        Base64.Encoder encoder = Base64.getEncoder();
        // 进行编码
        String encodedString = encoder.encodeToString(byteData);
        return encodedString;
    }

    public static String decrypt(String encodedString) {
        // 创建Base64.Decoder对象
        Base64.Decoder decoder = Base64.getDecoder();
        // 进行解码
        byte[] decodedData = decoder.decode(encodedString);
        // 将字节数组转换为字符串
        String decodedString = new String(decodedData);
        return decodedString;
    }
}

运行上述代码,输出结果如下:

Encoded String: SGVsbG8sIFdvcmxkIQ==
Decoded String: Hello, World!

通过以上示例代码,你可以使用Java函数轻松实现base64加密解密的功能。需要注意的是,Base64编码后的字符串可能会比原始数据长,因此在处理大量数据时需要注意内存和性能的问题。