我很确定这是有人已经提出的问题,但我也确定这有一个我不知道的概念名称,我想知道,因此我可以研究更多。
我的 java 应用程序有一些设置文件,可以将其作为 txt 文件打开以手动修改。我想防止这些文件被手动打开(我的意思是通过资源管理器和记事本),我只希望通过我的应用程序的 GUI 来修改它们。人们如何处理这件事?每个设置文件的某种密码学?
我很确定这是有人已经提出的问题,但我也确定这有一个我不知道的概念名称,我想知道,因此我可以研究更多。
我的 java 应用程序有一些设置文件,可以将其作为 txt 文件打开以手动修改。我想防止这些文件被手动打开(我的意思是通过资源管理器和记事本),我只希望通过我的应用程序的 GUI 来修改它们。人们如何处理这件事?每个设置文件的某种密码学?
我认为不可能阻止打开文件。但是您可以将它们放在系统文件夹中,例如%PROGRAMDATA%
. 不完全是您所要求的,但至少对“普通”用户隐藏了它们,这是一种常见的做法。
您还可以以二进制格式序列化和反序列化您的设置文件。
另一种方法是 - 就像你提议的那样 - 加密它们。
这取决于您希望它有多安全。如果您只是想防止临时用户修改,您可以对文本进行某种混淆以阻止人们(例如 xor 与已知值),或者您可以压缩每个文件。
如果您希望它更安全,以至于即使有一些聪明的人也无法进入它们,那么您会想要加密文件。您可以搜索“java 加密”以查看人们使用它的去向。