2026.7.18(15)【补充】Base64隐写原理详解

发布时间:2026/10/7 13:43:33

2026.7.18(15)【补充】Base64隐写原理详解 一、Base64 编码回顾Base64 编码将每3 个字节24 位转换成4 个 Base64 字符每个字符 6 位。但当原始数据不足 3 字节时需要进行补位剩余字节数剩余位数补零位数最终位数等号个数可隐写位置可隐写位数1 字节8 位16 个024 位2个倒数第 3 个字符低 4 位2 字节16 位8 个024 位1个倒数第 2 个字符低 2 位核心原理解码时这些“多余位”会被忽略。修改这些位不会影响解码结果因此可以用来隐藏额外数据。二、实例演示 场景一原始数据剩余 1 个字节密文末尾有1. 标准编码过程假设要编码的明文为A1 个字节步骤说明结果①A的 ASCII 码0x41②转为二进制8 位01000001③补 16 个0凑成 24 位01000001 00000000 00000000④分成 4 组每组 6 位010000/010000/000000/000000⑤转十进制16 / 16 / 0 / 0⑥查标准 Base64 码表Q/Q/A/A最终标准 Base64 编码QQ2. 隐写过程往里面藏数据末尾有→ 可隐写位置是倒数第 3 个字符即第 2 个Q第 2 个Q的索引为 16二进制为010000低 4 位为0000假设要隐藏的数据为1111二进制操作说明结果①原字符索引16 010000②替换低 4 位为1111010000→010111③新索引值23④查码表索引 23 对应字符X编码被修改为QX3. 验证解码步骤说明结果①Q索引 16 →010000—②X索引 23 →010111—③拼接两组 6 位010000 010111④取前 8 位原始数据只有 1 字节01000001⑤转 ASCIIA✅解码结果依然是A不受影响提取隐藏数据时取X索引的低 4 位→1111✅ 场景二原始数据剩余 2 个字节密文末尾有1. 标准编码过程假设要编码的明文为AB2 个字节步骤说明结果①A0x41B0x42—②转为二进制各 8 位01000001/01000010③拼接16 位补 8 个0凑成 24 位01000001 01000010 00000000④分成 4 组每组 6 位010000/010100/001000/000000⑤转十进制16 / 20 / 8 / 0⑥查标准 Base64 码表Q/U/I/A最终标准 Base64 编码QUI2. 隐写过程往里面藏数据末尾有→ 可隐写位置是倒数第 2 个字符即II的索引为 8二进制为001000低 2 位为00假设要隐藏的数据为11二进制操作说明结果①原字符索引8 001000②替换低 2 位为11001000→001011③新索引值11④查码表索引 11 对应字符L编码被修改为QUL3. 验证解码步骤说明结果①Q索引 16 →010000—②U索引 20 →010100—③L索引 11 →001011—④拼接三组 6 位010000 010100 001011⑤取前 16 位原始数据有 2 字节01000001 01000010⑥转 ASCIIAB✅解码结果依然是AB不受影响提取隐藏数据时取L索引的低 2 位→11✅三、总结对照表明文标准 Base64修改后隐写隐藏的二进制被修改的字符提取时取哪几位AQQQX1111第 2 个Q→X低4位ABQUIQUL11I→L低2位四、解码提取思路对于一段包含 n 行 Base64 编码的文本提取隐写数据的算法如下1. 对每一行 Base64 编码 str a. 用标准 Base64 解码再重新编码得到标准形式 row b. 比较 str 和 row 在“可隐写位置”的字符差异 c. 计算索引差值偏移量转为二进制 d. 根据等号个数确定有效位数 - 1个等号 → 取低 2 位对应 2 字节剩余 - 2个等号 → 取低 4 位对应 1 字节剩余 - 无等号 → 无可隐写数据 e. 将取出的位追加到 bin_str 2. 将 bin_str 每 8 位一组转成 ASCII 字符 3. 拼接所有字符得到隐藏的 Flag⚠️注意不同行提取的位数可能不同2 位或 4 位需要按顺序拼接最后转 ASCII。
延伸阅读

更多相关文章

2026/10/4 21:41:56

模块化桁架选铝还是选钢?一张表帮你算清‘隐性成本‘

在自动化产线升级、机器人第七轴以及桁架机械手的应用中,模块化桁架是支撑整个系统运行的“骨骼”。每当项目立项,工程师和采购负责人往往会面临一个经典的灵魂拷问:桁架到底选铝型材还是钢型材? 很多人习惯性地打开供应商报价单&…

2026/10/4 7:04:47

AI 张嘴就编?tri-true 的四道防线我全测了一遍

你有没有遇到过这种事:问模型一个具体参数,它答得有鼻子有眼,结果代码一跑直接报错——参数名都是它现编的。我上个月就被这么坑过一次,对着一份"官方文档"调了俩钟头,兜了一圈才发现那个接口根本不存在。 …

2026/10/7 13:41:28

Synopsys AHB VIP验证环境搭建与WRAP16波形调试实战

1. 为什么AHB VIP验证环境值得单独拿出来讲做SoC验证的朋友大概率都有过这样的经历:拿到一个AHB总线模块,手头有Synopsys的AHB VIP,但翻遍官方文档发现示例代码就那么几行,真正跑起来波形要么不对,要么transaction打印…

2026/10/7 13:41:28

AI编程智能体实战:从补全到闭环,程序员如何指挥它干活

1. 风口还是泡沫:AI编程智能体到底改变了什么 先把话说在前头:AI编程智能体不是又一个"帮你补全代码"的插件升级版,它和过去几年我们用的代码补全工具,压根不是同一个物种。补全工具解决的是"这一行怎么写"&a…

2026/10/7 13:41:28

JSP+SQL Server交通管理系统实战:从部署到MVC分层

简介:本资源是一套面向计算机专业本科生的毕业设计完整交付材料,聚焦JSPSQL技术栈实现智能道路交通信息管理,适用于Web开发初学者及课程设计实践者。系统采用B/S架构,涵盖数据采集、存储、处理、发布、事故报警与趋势分析六大功能…

2026/10/7 13:41:28

基于FPGA CARRY4进位链实现高精度TDC时间数字转换器

在实验室里跟时间打交道多了,你会发现一个尴尬的现实:示波器动不动就是几个G的采样率,商用TDC芯片标称皮秒级分辨率,可一看到价格和供货周期就头大。尤其是做激光测距(TOF)、PET成像、物理实验时间戳这类项…

2026/10/7 13:36:27

Codex代码生成大模型实战:原理、能力边界与工程落地指南

只要最近半年在写代码,你大概率绕不开 Codex 这个名字。它不是又一个“会写代码的聊天机器人”,而是一整套面向代码生成的大模型产品形态:模型负责理解意图、生成补丁,终端里的 Agent 运行时负责执行命令、读写文件、跑测试&#…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑