0

我需要构建一个 Android 应用程序,该应用程序具有从 Web 服务下载的音乐/音频文件,并最终存储在文件系统中以在应用程序中播放,但我需要防止用户能够访问和播放文件,无论是否有根.

我的第一个直觉是在存储到文件系统之前对它们进行加密,但我不确定我应该关注哪些加密算法,以及这些是加密的二进制文件与纯文本文件是否有所不同(我'正在阅读有关音频文件加密无法正常工作的帖子)。

有没有更好的方法来处理这种事情?我看到有人问过与此类似的问题,但不幸的是它没有可靠的答案:

如何在不让用户下载和使用的情况下将音乐存储在 Android 手机上?

如果我忽略了如何实现这一点,我深表歉意。任何建议将不胜感激!

4

2 回答 2

3

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

于 2013-03-08T03:31:29.223 回答
0

您的问题的答案实际上取决于您如何定义“用户”。如果您的意思是普通用户,您真的可以以任何您喜欢的方式加密文件。即使像对文件进行异或这样微不足道的事情也可以工作。

但是,如果您所说的“用户”是一个坚定的人,具有相当多的知识和技术能力,那么简单的答案就是您不能。从 .class 文件中获取 java 源代码非常容易,因此任何真正想要获取这些文件的人都可以查看您的代码以了解您如何对其进行加密,然后对其进行逆向工程。

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

于 2013-03-08T03:47:05.097 回答