解混淆 小番茄图片混淆 · 在线还原 打开工具

解混淆小番茄图片混淆 · 在线还原

把一张被小番茄算法打乱的图片放进来,点一下“解混淆”,画面会沿着原来的路线回到起点。 整个过程在你的浏览器里完成,图片不会离开设备;反过来,你也可以把一张普通图片混淆后再发出去。

Local image lab

图片混淆 / 解混淆

本地处理 无需登录 兼容小番茄算法

把图片放到这里

点击选择、拖拽文件,或直接粘贴剪贴板里的图片。支持 JPG、PNG、WebP 等常见格式。

待处理的图片预览 导入时的原图
—

处理方向

文件名
—
文件体积
—
图片尺寸
—
当前状态
尚未选择图片

图片只在当前标签页内解码与重排,不会上传;关闭页面后,浏览器会回收内存中的图像。

What it does

它没有改变颜色,
只是把颜色块的座次换了

理解这一点,后面的现象就都说得通:为什么看起来像噪声、为什么能还原、为什么不能当加密。

一张图片在浏览器里是一张按行、按列排好的色块表。每个格子记着红、绿、蓝和透明度四个数值, 我们看到的画面来自这些数值原来的位置关系。混淆做的事很朴素:把这些格子沿一条固定路线整体挪一个距离, 颜色值一个都没有改。

解混淆不是“猜”出原图,而是把同一套搬运规则反过来执行。每个格子都有唯一的去处,也都知道自己从哪来, 所以只要宽高不变,画面就能精确回到起点。它更像按固定顺序切一叠扑克牌,而不是把牌烧掉重画。

也正因为规则公开、没有密钥,任何人都能用同一个页面把图还原。它适合挡住“顺手一看”, 不适合承担真正的保密任务。这个边界会在后面的对比和隐私说明里反复出现。

先说清楚边界

这是一种“视觉遮挡”,不是加密。没有密码,规则公开,拿到图片的人只要打开本站就能还原。 证件、银行卡、私密影像、商业资料不应该只做混淆;判断标准很简单——如果这张图泄露会带来实际损失, 就请使用带密钥的加密工具。

800万 单张图片的像素总数上限,超出会先等比缩小
0 处理过程中图片被上传到服务器的次数
2 混淆与解混淆两个方向,共用同一套参数

Three steps

三步完成一次混淆或还原

界面上的按钮顺序就是操作顺序。第一次使用时,建议先用示例图片走一遍,再换成自己的图。

01 / IMPORT

导入一张图片

点“选择图片”、把文件拖进虚线框,或者复制图片后直接按 Ctrl/⌘ + V。导入后可以查看宽高,确认没有超过单张上限。

02 / PROCESS

选择处理方向

普通图片点“混淆图片”;收到一张看不懂的图,点“解混淆图片”。需要反复处理时,把输出格式切到 PNG 可以减少压缩痕迹。

03 / SHARE

保存,或者发出去

点“下载结果”保存当前画面。把混淆结果发给朋友,对方打开本页、导入、点“解混淆”,就能看到原画面。

Capabilities

把一件小事做完整

没有账号体系,也没有花哨的预设。这里列出的能力,都是围绕“导入、处理、保存”这一条路径展开的。

双向可逆

同一个页面既做混淆也做解混淆,二者共用曲线和位移参数。宽高不变时,往返一次就能回到原画面。

与参考算法同序

曲线顺序、位移公式、像素搬运方向都与公开参考实现一致。尺寸相同的前提下,两边可以互相还原。

只在本地运行

读取、重排、导出全部使用浏览器自带的 Canvas 接口。断网也能用,处理过程中没有图片数据被发出。

JPG 与无损 PNG

默认输出与参考实现一致的 JPG,体积友好;需要像素级往返或保留透明通道时,切换到 PNG。

三种导入方式

点选文件、拖拽到画布、直接粘贴剪贴板里的图片都支持。没有图片时,还可以用内置示例先试一次。

手机与离线可用

页面按移动端重新排版,手机上同样能完成导入、处理和保存。页面加载完成后,断开网络也能照常计算。

Inside the algorithm

一条走遍全图的曲线,
一个不肯回到原地的步长

曲线决定“按什么顺序搬”,步长决定“搬多远”。两者都不复杂,但组合起来的效果足够让画面失去可读性。

读完整的算法说明

9 × 6 网格上的 Gilbert 曲线:从左上角出发,走遍每一个格子且不重复。浅色格与深色格表示一对被位移关联的像素位置。
shift = round((√5 − 1) / 2 × W × H)

曲线负责把二维画面拉成一条一维的“长队”,相邻的色块在队列里也尽量相邻;位移量取黄金分割比例的倒数, 约等于像素总数的 0.618 倍。这个比例的好处是,无论图片多大,都能把相邻像素甩到队列的另一段去, 又不容易出现“绕一圈回到原地”的短周期。

混淆时,第 i 个曲线点上的像素被搬到第 i + shift 个点;解混淆时,从后者读回前者。 同一组坐标、同一个步长,方向相反,这就是全部的秘密。

Compatibility

和小番茄的参考算法对得上

下面这些参数不是近似值,而是逐项对齐的结果。只要图片尺寸没有被改变,用参考实现混淆的图片可以直接在这里还原。

解混淆与公开参考实现的关键参数对照
项目 本站取值 说明
曲线类型 广义希尔伯特(Gilbert)曲线 在任意宽高的矩形网格上生成不重复、不遗漏的遍历顺序。
位移步长 round((√5 − 1) / 2 × W × H) 黄金分割比例的倒数乘以像素总数,四舍五入到整数。
混淆方向 第 i 点 → 第 i + shift 点 把像素搬到曲线上更靠后的位置。
解混淆方向 第 i + shift 点 → 第 i 点 反过来读取,即可回到原来的座次。
处理上限 800 万像素 / 单边 4000 像素 超出后会等比缩小,避免移动端内存不足。
默认输出 JPEG(质量 1) 与参考实现一致,体积较小,但有轻微有损压缩。
无损选项 PNG 适合需要反复处理、像素级往返或保留透明通道的图片。
互通条件 宽高完全一致 裁剪、缩放、聊天软件改尺寸都会让还原结果错位。

查看互通条件与失败排查

Parameters

参数与限制一览

这些数值直接决定一张图能不能处理、处理要等多久,以及为什么有些图还原失败。

解混淆当前的运行参数
项目 取值 对使用的影响
像素总数上限8,000,000约等于 3264 × 2448,超出会先等比缩小。
单边上限4000 像素长边或短边任一超过都会触发缩小。
超限处理等比缩放取三个约束中最小的比例,不拉伸变形。
默认输出JPEG(质量 1)兼容性好、体积小;反复往返会累积压缩痕迹。
可读格式JPG / PNG / WebP / GIF / BMP / AVIF实际支持范围取决于浏览器的解码能力。
动图只取第一帧GIF、动态 WebP 经过画布后变为静态图。
透明通道JPG 输出铺白底PNG 可保留透明;JPG 不支持透明。
处理位置当前浏览器不上传、不排队、没有次数限制。
还原条件宽高与混淆时一致必须使用同序算法,且图片没有被裁剪或缩放。

逐条查看格式与尺寸说明

Compare

混淆、加密、马赛克,不是一回事

同样是“让别人暂时看不懂”,四种常见做法的安全强度、可逆性和使用成本差别很大。

四种常见做法的对比
做法 主要目的 可逆 需要密钥 适合的场景
像素混淆增加打开成本、遮挡缩略图是,规则公开不需要防剧透、预览、彩蛋
加密只有指定对象能看是,凭密钥需要隐私、证件、商业资料
马赛克让局部信息不可读否不需要遮挡人脸、号码、背景
裁剪 / 遮挡直接去掉敏感区域否不需要分享前的彻底脱敏
怎么选

如果目标是“别让人顺手看到”,混淆足够;如果目标是“没有授权就打不开”,请直接使用加密;如果目标是“这张图里根本不该出现这段信息”,请裁剪或彻底打码。不要用混淆替代后面三种。

看完整的方案对比

FAQ

先回答几个最常被问到的问题

如果这里没有你的问题,完整版按“基础、操作、兼容、隐私、故障”分了组。

混淆后的图片还能还原成原图吗?

能。颜色值没有改变,只是像素的位置被整体重排。把同一张图放进首页,点“解混淆”,就会按相反的步长搬回去。前提是宽高与混淆时完全一致,并且没有经过裁剪或缩放。

图片会被上传到服务器吗?

不会。读取、重排、导出都在浏览器内完成,页面不会发起携带图片的请求。你可以打开开发者工具的 Network 面板,在处理过程中观察是否有图片数据被发出。

为什么大图导入后变小了?

单张图片的像素总数上限是 800 万,单边上限是 4000 像素。超过任意一条时会先等比缩小,避免手机浏览器因为内存不足而崩溃。缩小后的图片无法与原始尺寸的结果互通,页面会给出提示。

这种混淆能当加密使用吗?

不能。没有密码,规则公开,任何拿到图片的人都能用同一个页面还原。它适合防剧透、遮挡缩略图、增加一步打开成本,不适合保护证件、隐私影像或商业机密。

发到微信后,对方还能还原吗?

只要微信没有改变图片的宽高,就能还原。建议以“原图”或“文件”方式发送。如果对方保存后发现宽高变了,还原结果会出现整体错位,这时只能请发送方重新发一次原图。

手机上可以用吗?

可以。页面按移动端重新排版,按钮会铺满整行。iOS 与 Android 的主流浏览器都能完成处理,超大图片的速度会比电脑慢。处理时请保持页面在前台。

查看全部常见问题

把图片放进来,看看它原本的样子

混淆与还原都在当前浏览器完成,图片不会上传。打开首页即可开始,不需要注册,也没有次数限制。