1. 自定义字符表(简单混淆)
标准的 Base64 使用 A-Za-z0-9+/。如果你打乱这个字符表的顺序,就可以创建一种私有的编码格式。
虽然这不能称为强加密,但足以让普通的 Base64 解码器失效,起到简单的混淆作用。
// 假设我们交换 'A' 和 'B' 的位置
const customChars = "BACDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
// 使用这个新表进行查表编码...
2. Base64 隐写术 (Steganography)
⚠️ 仅供安全研究与教育目的
Base64 编码结尾可能会有 1 个或 2 个 = 填充符。但在填充之前,可能有几位(2 bit 或 4 bit)是“无用”的补 0 位。解码器通常会忽略这些位。
黑客可以在这些被写入 0 的位中隐藏信息。虽然每个 Base64 串 只能隐藏几比特,但大量传输积累下来,就能传递秘密信息。
3. 完整性校验
在传输大文件时,我们通常会计算文件的 MD5 或 SHA256 哈希值。这些哈希值本身是二进制数据,通常也会被 Base64 编码,方便人类阅读和对比。
# 计算文件的 SHA256 并转为 Base64
openssl dgst -sha256 -binary file.zip | openssl base64
这比传统的 Hex(十六进制)显示更短、更紧凑。