Base64 - 编码与解码
Base64 使用可打印字符表示二进制数据,常用于在只适合传输文本的场景中承载二进制内容。
Base64 是编码方式,不是加密方式。任何人都可以直接解码,因此不能用它保护密码、Token 或其他敏感信息。
基本原理
Base64 将每 3 个字节(24 位)拆分为 4 组 6 位数据,再把每组映射到 Base64 字符表。输入长度不足 3 字节时,通常使用 = 补齐输出。
标准字符表包含:
A-Z a-z 0-9 + /常用参数
-d、--decode:解码。-w COLS、--wrap=COLS:编码时每COLS个字符换行;0表示不自动换行。-i、--ignore-garbage:解码时忽略无法识别的字符。
使用示例
# 编码字符串;printf 可避免额外编码末尾换行符
printf '%s' 'str' | base64
# 编码文件
base64 filename
# 解码字符串
printf '%s' 'c3Ry' | base64 -d
# 解码到文件
base64 -d input.b64 > output.bin不要仅凭编码串的开头猜测内容类型。需要确认数据时,应在安全环境中解码,并避免把未知内容直接交给 Shell 或其他解释器执行。