在线工具箱
文本隐写术

文本隐写术工具

把秘密信息隐藏进普通文本中,肉眼几乎无法察觉。

隐私安全:所有处理均在您的浏览器本地完成,数据绝不上传
隐写零宽字符隐私安全

载体字符数:0

请先输入载体文本与秘密信息。

工作原理

  1. 1秘密信息先转成 UTF-8 字节;若设置了密码,则用 PBKDF2 从密码派生 AES-GCM 256 密钥加密,密文头部为随机 salt(16 字节) + iv(12 字节)。
  2. 2载荷按「4 字节小端长度 + 1 字节标志位 + 数据」封装,再按每 2 bit 映射为一个零宽字符(00→U+200B,01→U+200C,10→U+200D,11→U+2060),1 字节膨胀为 4 个零宽字符。
  3. 3整个零宽序列用哨兵字符 U+FEFF 首尾包裹,追加到载体文本末尾(或均匀插入载体字符之间);零宽字符不占显示宽度,所以外观与原文一致。
  4. 4提取时先过滤出全部零宽字符,定位两个哨兵之间的区间,每 4 个零宽字符还原 1 字节,读出长度与标志位;加密载荷再输入密码解密,即可还原出原始文本。

常见问题

为什么隐写后的文本看起来和原来一模一样?

因为载荷是用零宽字符(ZWSP / ZWNJ / ZWJ / WORD JOINER)承载的,这些字符在排版中不占据任何显示宽度,也不会影响换行与字符间距。把文本复制到任何地方,肉眼看到的都只是原文。

隐写会让文本变大多少?

每个字节需要 4 个零宽字符承载,所以秘密信息会有约 4 倍的体积膨胀,另外还有 4 字节长度头、1 字节标志位和 2 个哨兵字符的固定开销。页面上的提示条会实时给出准确的字符数与字节数。

启用密码后,别人拿到隐写文本能解出内容吗?

不能。密码会通过 PBKDF2(SHA-256,10 万次迭代)派生 AES-GCM 256 密钥,密文带有认证标签,密码错误或文本被修改都会解密失败并提示「密码错误或文本已被篡改」,不会输出任何明文。

把隐写文本发到微信、QQ、微博等平台还能提取吗?

不一定。零宽字符不是可见字符,部分富文本编辑器、输入法或平台的内容过滤会把它吞掉。建议先把隐写文本发给自己测试一次,确认对方收到的文本仍能正常提取后再正式发送。

载体文本里本来就有零宽字符怎么办?

本工具在隐藏前会自动清除载体中原有的零宽字符,并在提示条中告知,避免这些残留字符污染提取结果。提取时也只解析哨兵区间内的字符,与插入位置无关。

更多在线工具