跳到主内容
UniKit

字符串混淆 / 隐藏

把文本变成不可直接阅读的形式:零宽字符插入、同形字替换、Base64 反转、字符位移与 RTL 标记,并给出对应的还原方法与「看起来一样但实际不同」的说明。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

原始文本
混淆方式
1

混淆结果

你​好​,​U​n​i​K​i​t​!​
不可见字符示意
你\u200b好\u200b,\u200bU\u200bn\u200bi\u200bK\u200bi\u200bt\u200b!\u200b
可见字符10
码点数量20
UTF-8 字节48
零宽 / 不可见字符10
同形字数量0
方向控制字符0

还原

粘贴混淆后的文本
还原结果

这个工具能做什么

  • 演示「看起来一样但实际不同」的文本:插入零宽字符后肉眼看不出区别,但码点数量和字节数都变了,搜索和比对会失败。
  • 做安全培训素材:用同形字把 UniKit 换成西里尔字母版本,说明钓鱼域名和假账号是怎么伪装的。
  • 临时藏一段明文(Base64 + 反转、字符位移),避免截图或聊天里被一眼读出,工具同时提供还原入口。
  • 排查从网页复制来的文本为什么搜不到:先看看里面藏了多少零宽字符和方向控制符。

示例

输入

UniKit(方式:Base64 + 反转)

输出

0l2Sp5WV

先按 UTF-8 转 Base64 得到 VVcpaUtpblU=,再整体反转;把 0l2Sp5WV 反转回 VVcpaUtpblU= 做 Base64 解码即可还原 UniKit。字符位移方式下 UniKit 位移 3 位得到 XqlNlw。

常见问题

零宽字符插入之后还能还原吗?

能。零宽字符是 U+200B、U+200C、U+200D、U+FEFF 这几个固定码点,还原时统一剔除即可,不影响可见字符。方向标记(U+202A–U+202E、U+2066–U+2069)也在剔除范围内。

字符位移能处理中文吗?

不能,中文会原样保留。位移只在可打印 ASCII 区间(33–126)内进行,超出范围的字符按区间环回,所以「你好A」位移 3 位得到「你好D」。位移量范围是 1–93。

同形字还原会不会误伤正常的西里尔文本?

会。还原是把西里尔 / 希腊同形字无条件映射回 ASCII,所以一段真正的俄语文本也会被替换成拉丁字母。它适合还原「被人为伪装过的」文本,不适合当作语言检测工具。

Base64 + 反转的还原为什么报「不是当前方式的合法结果」?

还原时会先反转再按标准 Base64 解码,并要求解码结果是合法 UTF-8。如果文本在传输中被截断、换行被删掉,或者本来就用了 URL 安全字符集(- 和 _),解码就会失败。这种情况下先用 Base64 工具单独处理更稳。

这些混淆方式能当加密用吗?

不能。五种方式都是可逆的编码或替换,还原逻辑就写在这个页面里,任何人都能解回来。要保密请用 AES 之类的真正加密,混淆只适合做演示、脱敏或临时遮挡。

关键词:混淆obfuscate隐藏文本zero width零宽字符同形字homoglyphrtlbase64

同类工具