概述
Base64Util 是加密通信中的核心编解码工具,主要功能是实现二进制数据与Base64文本之间的相互转换。在API通信中,Base64编码用于确保加密后的二进制数据能够安全地通过HTTP协议传输。
代码实例
import java.util.Base64;
public class Base64Util {
/**
* 将字节数组编码为Base64字符串
*
* @param bytes 原始二进制数据
* @return Base64编码后的字符串
*
* 使用场景:将加密后的二进制数据转换为可安全传输的文本格式,
* 适用于HTTP请求参数封装。
*/
public static String encodeByte(byte[] bytes) {
return Base64.getEncoder().encodeToString(bytes);
}
/**
* 将Base64字符串解码为字节数组
*
* @param str Base64编码的字符串
* @return 解码后的原始二进制数据
*
* 使用场景:将API响应中的Base64数据转换为二进制,
* 为后续解密操作做准备。
*/
public static byte[] decodeString(String str) {
return Base64.getDecoder().decode(str);
}
}
/**
* Base64 编码/解码工具类
*
* 提供 Base64 字符串与二进制数据之间的转换功能
*/
class Base64Util {
/**
* 将字节数组编码为 Base64 字符串
* @param {Buffer} bytes - 原始二进制数据
* @returns {string} Base64 编码后的字符串
*
* 使用场景:将加密后的二进制数据转换为可安全传输的文本格式,
* 适用于 HTTP 请求参数封装。
*/
static encodeByte(bytes) {
return bytes.toString('base64');
}
/**
* 将 Base64 字符串解码为字节数组
* @param {string} str - Base64 编码的字符串
* @returns {Buffer} 解码后的原始二进制数据
*
* 使用场景:将 API 响应中的 Base64 数据转换为二进制,
* 为后续解密操作做准备。
*/
static decodeString(str) {
return Buffer.from(str, 'base64');
}
}
module.exports = Base64Util;
import base64
class Base64Util:
# Base64 编码/解码工具类
@staticmethod
def encodeByte(data: bytes) -> str:
# 将字节数据编码为Base64字符串
# 参数: data - 原始二进制数据 (bytes类型)
# 返回: Base64编码后的字符串
# 使用场景: 将加密后的二进制数据转换为可安全传输的文本格式
return base64.b64encode(data).decode('utf-8')
@staticmethod
def decodeString(encoded_str: str) -> bytes:
# 将Base64字符串解码为字节数据
# 参数: encoded_str - Base64编码的字符串
# 返回: 解码后的原始二进制数据 (bytes类型)
# 使用场景: 将API响应中的Base64数据转换为二进制
return base64.b64decode(encoded_str.encode('utf-8'))
# 使用示例
if __name__ == "__main__":
# 编码示例
binary_data = b"Hello Base64!"
encoded = Base64Util.encodeByte(binary_data)
print(f"编码结果: {encoded}")
# 解码示例
decoded = Base64Util.decodeString(encoded)
print(f"解码结果: {decoded}")
print(f"验证一致性: {binary_data == decoded}")

