以下是摘要:
使用零宽度字符,您可以将秘密信息隐藏在纯文本内部,从而更安全地传递秘密消息;绕避关键字审查。甚至可以弄清楚谁在网上泄漏文件。一定程度上这对吹哨人不利。
Unicode 是文本的标准化编码格式,特别是UTF-8,大多数Web浏览器都使用 Unicode。因为 Unicode 需要支持世界上几乎所有书面语言,所以存在一些违反直觉的字符,例如零宽度不连接符和零宽空格。例如前者在波斯语中使用,因为需要显示正确的印刷体形式。
于是您可以使用零宽度字符在任何未对零宽度字符做过滤的网页内插入不可见的隐形文本。
这个思路是选择两个任意的零宽度字符并将它们指定为1和0,然后将任何消息拆分为单个字符,然后以零宽度字符(分别为1和0)将其编码为二进制形式,从而将其隐藏在纯文本中。
最佳实践是在单词之间的空格中添加零宽度二进制码。否则,拼写检查倾向于认为该单词拼写错误。
您可以用它来做什么?
在普通的文本中隐藏信息的能力本身就非常有用,您可以传输机密信息在队友之间、或者简单地绕避关键字审查,比如在微信上。但使这种技术真正精妙的是,它能在重新格式化后存活下来,并且,无论文本被复制粘贴到哪里,秘密消息都能携带。隐藏的字符在 nano 等文本编辑器中都不会暴露。
这应该是秘密通信的首选方式。
你可以使用经典的间谍伎俩,在公共空间发布一篇文章、或某种类型的文本文档。例如,你可以在 Craigslist 广告中隐藏一条秘密信息,然后让一个单独的接收者或一群合作者定期检查当地的 Craigslist 广告,寻找特定的关键词。他们会知道如何检查其中是否存在隐藏的秘密信息。
当必须确保两个接头人之间没有直接的联系时,这是一种交换信息的有益方法
选项1:在线直接创建零宽度消息
要开始发送零宽度信息,打开 Steganographr 页面,在 "私密信息" 字段中粘贴您的(可以是加密的)信息,在 "公开信息" 字段中粘贴一个极为普通的或完全不重要的信息,然后点击 "Steganographize"。
然后,您将能够复制新生成的消息并按需进行处理。只需将其复制并粘贴,它仍将完整保留隐藏在其中的秘密消息。
当接头的人需要显示隐秘消息时,同样可以使用 Steganographr。滚动到底部,将文本粘贴到 "公开私密消息" 的字段中,然后单击 "Desteganographize"。
但是,这里的一个问题是,我们必须相信该网站不会保存这些消息或借此伤害你。幸运的是,Steganographr 开源,因此您可以简单地将其复制并托管在自己的网站上。 (此处 @thphd)
尤其是,您可以编辑源码。要进行更改只需要将十六进制值更改为所需的新字符即可。