使用JAVA加密和混淆音频文件

4

我目前正在使用JAVA开发一个项目,用于加密MP3音频并从加密后的MP3文件中产生乱码声音。到目前为止,我已经可以使用DES加密方法对整个MP3文件进行加密。然而,这个加密文件无法在MP3播放器中播放。我知道MP3文件有一些结构(头部和数据等),但我不知道如何在不破坏整个MP3结构的情况下实现对该文件的加密。

如何使这个加密的MP3文件可以播放?


2
很多年前,我曾对MPEG-2传输流做过类似的事情——加密图像和音频数据,但保留MPEG结构,以便其他设备(如提取所有I帧的实用程序)仍然可以操作文件。但是,恐怕这个问题对于SO来说不够具体。我认为你已经知道答案了:你需要拆分流并仅加密实际的音频数据... - Greg Kopff
是的,我认为这是主要问题:使用JAVA程序提取实际音频数据。我想知道是否有这样的JAVA程序...无论如何,感谢您的回复... - John Adul
为什么要使用DES?它很慢而且已经过时了。应该使用AES代替。如果不需要认证,则使用AES-CTR或AES-CBC。如果需要认证,则使用AES-GCM。 - rossum
1个回答

1

关于Java中解析和mp3流的更多信息:JavaLayer是一个mp3解码器,它自然地使用javazoom.jl.decoder.Bitstream类实现流处理。它将跳过所有标签数据,并为每个帧提供原始字节。

另一个执行一些mp3流解析的库是jaudiotagger,也许你可以从那里搜刮一些代码。

这两个库都在LGPL下分发,因此请注意许可问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接