我不是专家,但我有一些建议,
(“用户”在这里被认为是男性)
在 Windows 中,当用户登录时,他将拥有操作属于他的文件或文件夹的所有权限。
但是,如果他试图操纵属于其他用户的文件或文件夹,则不允许他这样做。所以,他不能操纵其他用户的文件。
如果用户是管理员,他将拥有操作文件的所有权限。
在您的情况下,我相信用户不是管理员。
所以,我建议你:
为这个应用程序创建一个用户,比如说 Bob(Bob 不是要使用这个应用程序的用户)。
然后您创建一个文件夹来存储您的文件并仅将所有权限授予 Bob(和管理员)。
对于所有其他人,没有对该文件夹执行任何操作的权限。
您的应用程序必须由管理员安装。
当您启动时,您的应用程序向当前用户询问 Bob 的密码。
如果密码正确,
使用您的应用程序允许当前用户完全访问文件夹权限。然后应用程序可以按您的意愿工作。
如果用户退出应用程序,请
删除当前用户的所有权限,以便在退出此应用程序后其他人无法访问该内容。
但管理员仍然可以访问此内容。
这类似于 Linux 用户管理。
当您获得外壳时,您可以su username
在完成工作并且他退出外壳时更改用户使用,然后其他人无法使用这些文件。但是 root 用户可以在 Linux 中做任何事情。
但是有一个问题。
管理员可以获得完整的内容和访问权限,因为他可以修改权限。
要禁止这种情况,请使用任何技术压缩并使用密码来保存文件。该密码只有使用它的用户知道。在将文件保存到文件夹之前,请使用密码对其进行压缩。在使用该文件之前,请使用密码将其解压缩。
如果压缩密码与用户密码相同,则有问题。
管理员可以将用户密码重置为某些东西并打开他的帐户。
为了防止这种情况,您可以使用以下技术:
使用 zip 密码作为用户密码的反向,这样如果他的密码是 1234,则压缩密码是 4321,或者使用用户密码的哈希值作为压缩密码。
如果 zip 密码是 MD5 哈希或 SHA-1 之类的哈希值,那么由于密码长度的原因,对 zip 文件的暴力破解将不起作用。
我不知道这是否是一个可行的解决方案,或者这是否可以实施。
但是,如果您认为其中有一些好的想法,您可以从中汲取一些想法。