未经他人许可使用文件数据

Use file data without giving anyone else permission

我有一个应用程序使用包含来自数据库的密码的 .properties 数据,我的客户将使用此应用程序,但我不想给他任何访问此属性数据的权限,即使我们看看.jar​​。我想使用 zip4j 但是否有其他最佳解决方案,因为当我解压缩它时,.properties 将被解压缩到某个地方,让客户端可以访问它,不是吗?

这是不可能的。忘记这个想法并重新考虑您的系统。 您不能同时提供读取权限而不提供读取权限。

这是媒体行业法律部门的梦想。他们投入大量资金来解决这个无法解决的 DRM 问题,但 DRM 永远行不通,但却惹恼了所有人。

你可以让提取数据变得更烦人——使用各种混淆技术——但仅此而已。

其中一个想法是在 C++ 库中对密码进行编码,然后 link 通过 JNI 对其进行编码。那么用户在不反汇编二进制文件的情况下无法提取它,但无论如何都可以在运行时进行内存转储。

您可以在运行时从中央服务器读取密码。您可以为此使用一次性密码。同样,如果用户的技术水平一般,这是徒劳的,因为您仍然可以使用 curl 或一些简单的脚本向服务器请求密码。

您可以使用允许连接到数据库(智能卡或其他东西)的硬件访问令牌。这是 90 年代非常流行的技术。

您所能做的就是增加一定程度的烦恼,这将阻止非技术人员。有了足够的钱,你就可以建立一些像样的 DRM,这会让精通技术的人暂时停下来,但我严重怀疑这笔钱是否值得。

如果数据库访问非常宝贵,以至于您不能让用户访问它,但他需要它,那么您的设计就失败了。