我正在开发一个使用 .net WPF 构建的桌面应用程序。我在应用程序中有一些数据,例如图像,视频..
我想让这个文件夹安全,所以在应用程序安装后没有人可以访问文件夹内的数据。只有应用程序可以从该目录读取数据。
即使该机器的管理员无法打开该文件夹来检查内容。
是否有可能在 WPF 应用程序中拥有这种安全性。
唯一的动机是保护敏感数据免受应用程序用户的外部复制。
谢谢,维杰
这取决于您如何使用这些资源。实际上,您可以加密所有“受保护”文件,这样安装后每个人都可以复制但没有人可以使用它们,除非您的应用程序解密文件。当您加密文件时,您应该明确地测试性能(解密需要一些时间)。
两个链接显示您如何做到这一点:
将您想要强烈保护的文件添加到您的解决方案中。然后右键单击每个文件,转到属性并将其“构建操作”设置为“嵌入式资源”。
以及如何从 exe 中访问资源流以在您的应用程序中使用,请参见下面的链接
这样,您的私人文件将不会被复制到安装文件夹,而是驻留在您的 .exe 文件中。
WPF 是题外话。应用程序以启动它们的用户的权限运行。如果应用程序需要访问文件,那么用户也需要对这些文件的权限。
简而言之,答案是否定的,你不能完全按照你的要求去做。
您能做的最好的事情就是让用户很难发现资产的来源,但是如果不授予应用程序用户的访问权限,您将永远无法授予对应用程序的访问权限。