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)); // 输出解码后的字符串
}
}