type
Post
status
Published
date
Dec 25, 2024
slug
base64
summary
Base64是一种基于64个可打印字符表示二进制数据的编码方法,核心原理是将3字节(24位)的二进制数据分割为4组6位数据(2⁶=64),每组映射到一个ASCII可打印字符。标准Base64字符集为A-Z、a-z、0-9、+、/,填充字符为=。
tags
加解密
category
加解密
icon
password
上次编辑时间
Dec 26, 2025 03:47 AM
comment
AI 总结
数据采集加密方式全解:从原理到实战对抗
技术原理深度解析
Base64是一种基于64个可打印字符表示二进制数据的编码方法,核心原理是将3字节(24位)的二进制数据分割为4组6位数据(2⁶=64),每组映射到一个ASCII可打印字符。标准Base64字符集为A-Z、a-z、0-9、+、/,填充字符为=。其衍生变种包括:
- Base64URL:将+和/替换为-和_,去除填充=,用于URL安全传输
- MIME Base64:每76字符插入CRLF换行,用于电子邮件
- 自定义字符集:某些系统使用自定义映射表作为简单混淆
详细特征识别
- 长度总是4的倍数(原生Base64)
- 结尾常有一个或两个等号(填充字符)
- 字符完全由A-Z、a-z、0-9、+、/及=组成
- 解码后二进制数据不可读(非文本时)
典型应用场景
- HTTP Basic认证:
Authorization: Basic dXNlcjpwYXNz
- 数据URL:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
- JSON Web Token第二部分:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
- 邮件附件编码
- 简单API参数混淆(虽非加密但常见)
Python实现示例
爬虫应对策略
- 识别技巧:正则匹配
^[A-Za-z0-9+/]+={0,2}$或^[A-Za-z0-9\-_]+$
- 自动化处理:在爬虫管道中添加Base64自动解码中间件
- 上下文分析:结合HTTP头(如
Content-Transfer-Encoding: base64)判断
- 递归解码:某些数据可能多层Base64编码
- Author:24th
- URL:https://24th.top/article/base64
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!








