2013-03-08 69 views
0

我需要构建一个Android应用程序,该应用程序从web服务下载音乐/音频文件并最终存储在文件系统中以便在应用程序中播放,但我需要阻止用户访问并播放根源与否的文件。保护音乐文件 - 文件系统

我的第一个直觉就是在存储到文件系统之前对它们进行加密,但我不确定应该关注哪些加密算法,以及是否有区别,这些是二进制文件加密还是纯文本文本文件(我正在阅读有关音频文件加密不正确的文章)。

有没有更好的方法来处理这种事情?我看到这个类似的问题已经被问,但遗憾的是没有坚实的答案:

How can I store music on an android phone without allowing the user to be able to download it and use it?

我道歉,如果我忽略了这是如何实现的。任何建议将不胜感激!

+0

只是好奇,什么音乐将在系统中可用,将不会在互联网上可用? – Thihara 2013-03-08 03:35:10

+1

我想不出任何过去以某种方式被击败的DRM方案。如果你愿意,可以去找它,但是如果他们想要的话,世界上的所有锁定都不会阻止人们。问迪士尼,索尼,EA,亚马逊等... – Geobits 2013-03-08 03:38:42

回答

3

你在问如何创建一个DRM系统。这是一个有争议的话题,并没有直接的答案。站点Defective by Design从用户的角度讨论了DRM系统的负面影响。

+0

感谢您的有益回应和链接。这是我们可以收回潜在客户的信息,很高兴知道这可能是我们采取这种事情的唯一途径。我完全明白,当然,没有办法“完全”防止它。我认为客户只是希望能够增加一定程度的保护,防止人们自由地将音乐从设备上截断并加载到他们的电脑/ mp3播放器上。 – svguerin3 2013-03-08 04:41:44

0

你的问题的答案真的取决于你如何定义“用户”。如果你的意思是普通的普通用户,你可以用任何你喜欢的方式真正加密文件。即使像XORing文件一样微不足道的工作也会起作用。然而,如果你所说的“用户”是一个具有相当数量的知识和技术能力的坚定个人,那么简单的答案就是你不能。将Java源文件从.class文件中取出非常容易,因此任何真正想要获取这些文件的人都可以查看您的代码,以了解如何对其进行加密,然后对其进行反向工程。

简而言之,如果您的客户端可以读取文件,那么拥有客户端的任何用户都可以读取文件(无论是否使用客户端)。

+0

感谢您的回答。我应该在我的文章中澄清,但这是客户的要求,而不是我个人想要完成的事情。我只是不确定是否有一个简单或标准的方法。我绝对明白,没有“全面”的方式来对付这个问题。我相信客户只是想要一定程度的保护。无论如何,这种类型的信息是我们可以带回客户端的信息,以及dsh关于DRM系统的答案。感谢您的回应 – svguerin3 2013-03-08 04:38:39