Lazy loaded image
加解密
🔑Base64系列编码
Words 680Read Time 2 min
2024-12-25
2025-12-26
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实现示例

爬虫应对策略

  1. 识别技巧:正则匹配^[A-Za-z0-9+/]+={0,2}$^[A-Za-z0-9\-_]+$
  1. 自动化处理:在爬虫管道中添加Base64自动解码中间件
  1. 上下文分析:结合HTTP头(如Content-Transfer-Encoding: base64)判断
  1. 递归解码:某些数据可能多层Base64编码
上一篇
连 10 分钟都坐不住?
下一篇
白话哈希(Hash)算法

Comments
Loading...