Java 我的Android应用程序上的自定义文件支持

Java 我的Android应用程序上的自定义文件支持,java,android,security,import,export,Java,Android,Security,Import,Export,我计划使用我的应用程序,它的主要功能类似于日程安排,带有导航抽屉和可扩展列表视图 我还计划添加一个带有自定义文件扩展名的导入导出功能。。并且自定义文件中的内容将被加密,因此当用户试图使用文本编辑器工具打开它时,它不会被更改。。还有什么我可以做的吗 我四处寻找,发现其他人离我的目标有点太远了。。谢谢:为了防止绝大多数用户阅读您的文件,您可以使用16世纪的密码。选择任意字节字符串密钥并通过 byte [] encryptOrDecrypt(byte[] key, byte[] input){

我计划使用我的应用程序,它的主要功能类似于日程安排,带有导航抽屉和可扩展列表视图


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


我四处寻找,发现其他人离我的目标有点太远了。。谢谢:

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

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文件进行反向工程。因此,无论您使用何种加密,如果您的程序可以读取文件,那么专用攻击者也可以。

自定义文件中的内容将被加密,因此当用户尝试使用文本编辑器工具打开它时,它不会被更改-这是什么意思?您希望用户无法查看它,还是希望具有完整性保护?另外,您是否希望使用用户加密备份提供的密钥对其进行加密,或者以某种方式合法用户无法以DRM方式访问数据?后者属于模糊处理的范畴,而不是密码学。我的意思是自定义文件只能由我的应用程序和我的应用程序单独读取。我的UI看起来像这样。。我计划在我的应用程序中添加一个导入/导出功能,用于导出可在ExpandableListView中找到的信息。。在导出信息之前,应用程序将首先对其进行加密,使其不会在任何文本编辑器中打开,但导出的文件将可供具有我的应用程序的其他设备读取。。对不起,我的英语和解释不好,我不流利,谢谢。。我已经学习过维格纳密码术:。。好吧,我是黑客修改的,没什么大不了的。。不过我会想办法的。。那么,自定义文件支持呢?呃,我不知道你在问什么。一旦您实现了Vigenère加密,您的文件格式将非常非标准@n00b