我正在寻找一个功能,允许我在访问文件夹之前放置一个对话框窗口(w/密码查询)。有这样的函数吗?此外,如果在任何程序(甚至是Windows资源管理器/cmd.exe)被允许访问这些文件之前有这个保护,那么这个将是很棒。这可能吗?
我没有使用像IOContainer, passwd之类的东西。受保护的zip文件或任何其他太慢的东西,因为我猜一个文件中有20GB有点太大了,解密这个文件需要很长时间。是否有一个c#的VFS解决方案,它支持密码保护,可以用作磁盘上的普通文件系统或文件夹?
谢谢!
有两种选择。比较简单的方法是从该文件映射一个虚拟文件系统。我们的产品SolFS (OS版)完全满足了您在问题的第二部分所提出的要求——它提供了一个具有可选加密功能的容器,该容器作为虚拟驱动器公开,因此对内容的访问是透明的。在这样的系统中,解密是以页为单位完成的,所以20gb大小的文件不会像您担心的那样被整个解密。
另一个选项是使用文件系统过滤器驱动程序,它将拦截打开目录的请求,并要求用户输入密码。这种方法是可行的(我们甚至有一个产品,叫做CallbackFilter),但是它有两个缺点:首先,删除驱动程序并不是不可能的,这会使数据不受保护。第二个问题是,如果在回调中要求用户输入密码,而操作系统正在等待对目录的访问,那么在用户思考时可能会出现死锁或超时。
考虑到这两个限制,像SolFS这样的方法是首选和推荐的方法。PS:我们也有免费的非商业许可证。