使用 PHP 隐藏音频文件中的文本


Hide text inside audio file with PHP

可以通过PHP将隐藏字符串添加到音频文件(MP3,mid(中吗?

我有一个在线音乐商店,我的一些客户转售歌曲,我想在音频文件中隐藏他的电子邮件地址以识别它们。

音频文件

对于真正的音频文件

(不是 MIDI,它不是真正的音频文件(,最好的方法是使用音频水印。 有许多算法和工具(如AWT(可以从PHP脚本中执行来处理这个问题。 它们通过以无法感知但可以解码的方式修改音频数据来工作。

这些算法中的大多数都可以对水印进行编码,使它们在使用其他编解码器重新编码后幸存下来。 这是与您所要求的关键区别。 如果您只是添加一个 ID3 标签,任何工具都可以删除它。 事实上,您的标签很可能会被读取和重写 ID3 标签的工具删除。 然而,随着信息嵌入到实际音频本身中,它将生存下来。 如果有人解码文件并使用另一个编解码器重新编码,根据您的水印算法,水印仍将存在。 即使有人在另一个流中流式传输它,水印也可以存活。

我想在音频文件中隐藏他的电子邮件地址以识别它们

您应该将保存在自己的数据库中的 ID 或 ID 哈希存储在自己的数据库中,而不是嵌入个人标识信息。 如果您为每次下载生成一个新 ID,这可能会更好,这样如果您需要找到转售您的文件的用户,您可以证明他们何时下载它以及从哪个 IP 地址下载,以及您希望保留在数据库中的任何其他信息。

MIDI 文件

对于 MIDI,您必须将您的 ID 嵌入到文件的元数据中。 这很容易被击败,可能根本不值得你花时间。