Org.BouncyCastle.Utilities.Encoders

Org.BouncyCastle.Utilities.Encoders 是 Bouncy Castle 库中的一个工具类,用于处理各种编码和解码操作。Bouncy Castle 是一个开源的加密算法库,提供了广泛的加密功能,包括但不限于加密、解密、哈希、数字签名等。Encoders 类则专注于将字节数组编码和解码为常见的字符串格式,如 Base64、Base32、Hex 等。

主要功能

  • Base64 编码和解码:将二进制数据编码为 Base64 字符串,或将 Base64 字符串解码为二进制数据。
  • Base32 编码和解码:将二进制数据编码为 Base32 字符串,或将 Base32 字符串解码为二进制数据。
  • Hex 编码和解码:将二进制数据编码为十六进制字符串,或将十六进制字符串解码为二进制数据。
  • UrlBase64 编码和解码:与 Base64 类似,但对 URL 安全,使用不同的字符集。

使用方法

以下是一些常见的使用方法示例:

Base64 编码

import org.bouncycastle.util.encoders.Base64;

public class Example {
    public static void main(String[] args) {
        byte[] data = "Hello, World!".getBytes();
        byte[] encoded = Base64.encode(data);
        System.out.println(new String(encoded)); // 输出 Base64 编码后的字符串
    }
}
 

Base64 解码

import org.bouncycastle.util.encoders.Base64;

public class Example {
    public static void main(String[] args) {
        String encoded = "SGVsbG8sIFdvcmxkIQ==";
        byte[] decoded = Base64.decode(encoded);
        System.out.println(new String(decoded)); // 输出解码后的字符串
    }
}
 

Hex 编码

import org.bouncycastle.util.encoders.Hex;

public class Example {
    public static void main(String[] args) {
        byte[] data = "Hello, World!".getBytes();
        byte[] encoded = Hex.encode(data);
        System.out.println(new String(encoded)); // 输出 Hex 编码后的字符串
    }
}
 

Hex 解码

import org.bouncycastle.util.encoders.Hex;

public class Example {
    public static void main(String[] args) {
        String encoded = "48656c6c6f2c20576f726c6421";
        byte[] decoded = Hex.decode(encoded);
        System.out.println(new String(decoded)); // 输出解码后的字符串
    }
}
posted @ 2025-08-08 17:58  yinghualeihenmei  阅读(31)  评论(0)    收藏  举报