【问题标题】:Custom File Support on my Android App我的 Android 应用程序上的自定义文件支持
【发布时间】:2014-10-31 20:59:06
【问题描述】:

我正计划使用我的应用程序,它的主要功能就像日程安排,带有导航抽屉和 ExpandableListView ..

我还计划添加一个带有自定义文件扩展名的导入导出功能......并且自定义文件中的内容将被加密,因此当用户尝试使用文本编辑器工具打开它时,它不会被更改。 . 无论如何我可以做到这一点吗? ..

我四处搜索,发现其他人离我的目标有点太远了..谢谢:)

【问题讨论】:

  • “自定义文件中的内容将被加密,因此当用户尝试使用文本编辑器工具打开它时,它不会被更改” - 你的意思是什么?您希望用户无法查看它,还是希望有完整性保护?您是否还希望使用用户提供的密钥(加密备份)对其进行加密,或者以某种方式合法用户无法访问数据(以 DRM 方式)?后者属于混淆学科,而不是密码学。
  • 对此感到抱歉。我的意思是自定义文件只能由我的应用程序和我的应用程序单独读取。我的 UI 看起来像这样i.imgur.com/aZj90Yz.png .. 我计划向我的应用程序添加一个导入/导出功能,该功能导出可以在 ExpandableListView 中找到的信息 .. 在导出信息之前,应用程序将首先对其进行加密所以它不会在任何文本编辑器中打开,但导出的文件将可以被其他拥有我的应用程序的设备读取。抱歉我的英语和解释不好,我不流利

标签: java android security import export


【解决方案1】:

为了防止绝大多数用户阅读您的文件,您可以使用 16 世纪密码 "Vigenère"。选择任意字节串key 并通过

加密/解密
byte [] encryptOrDecrypt(byte[] key, byte[] input){
    byte [] result = new byte[input.length];
    for(int i=0; i<input.length; i++) {
        result[i] = input[i] ^ key[i % key.length];
    }
    return result;
}

(警告:我没有运行这段代码,它可能包含一堆语法错误。)

但是,如果您试图防御专门的攻击者,那么您就不走运了。最后,总是可以对您的 apk 文件进行反向工程。因此,无论您使用哪种加密技术,如果您的程序可以读取文件,那么专门的攻击者也可以。

【讨论】:

  • 谢谢! .. 我已经研究过 Vigenere Cryptography :) .. 好吧,我是黑客修改了它,这并不重要.. 我会找到一种方法 .. 好吧,自定义文件支持怎么样?
  • 呃,我不确定你在问什么。实施 Vigenère 加密后,您的文件格式将非常不标准。 @n00b
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 2017-05-28
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多