Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何锁定USB驱动器上的文件夹?_C# - Fatal编程技术网

C# 如何锁定USB驱动器上的文件夹?

C# 如何锁定USB驱动器上的文件夹?,c#,C#,我需要实现一个功能(在C#中)来锁定USB驱动器上的文件夹。锁定后,在没有我的软件的任何PC中,此文件夹都无法访问(或者更好地说是不可见的)。我尝试过使用ACL(访问控制列表),但它在USB上不起作用 我最初的要求是“不允许人们在没有我的软件的情况下查看USB驱动器上文件夹的内容。当用户登录到我的软件时,此文件夹是可访问的,当用户注销时,我的软件必须采取措施确保此文件夹在其他PC上不可访问”。这让我想到锁定USB文件夹 我已经尝试过用密码压缩文件夹(不是压缩),但是压缩需要时间(1 Gb大约2分

我需要实现一个功能(在C#中)来锁定USB驱动器上的文件夹。锁定后,在没有我的软件的任何PC中,此文件夹都无法访问(或者更好地说是不可见的)。我尝试过使用ACL(访问控制列表),但它在USB上不起作用

我最初的要求是“不允许人们在没有我的软件的情况下查看USB驱动器上文件夹的内容。当用户登录到我的软件时,此文件夹是可访问的,当用户注销时,我的软件必须采取措施确保此文件夹在其他PC上不可访问”。这让我想到锁定USB文件夹


我已经尝试过用密码压缩文件夹(不是压缩),但是压缩需要时间(1 Gb大约2分钟)。因此,如果我有大量数据(100 GB),则处理时间太长(软件在注销时必须处理这些数据)。

我以前使用过此软件,它是开源的,因此您可能会从中获益。

但是,我认为它在分区级别而不是驱动器级别工作(我认为它使用自己的文件系统格式化分区)。

您看过吗

一般来说,你不应该试图重新发明轮子,尤其是在安全要求方面。这是一个沉重的话题,你自己的文件系统应该是最后考虑的选项。 TrueCrypt使用两种不同的操作模式:

  • 文件托管(容器)
  • 分区/设备托管
注意:除了创建上述类型的虚拟卷, TrueCrypt可以加密物理文件 Windows所在的分区/驱动器 已安装(有关更多信息,请参阅 第二章系统加密)

TrueCrypt文件承载的卷是 普通文件,可以驻留在任何 存储设备的类型。它包含 (主持)完全独立的 加密虚拟磁盘设备

TrueCrypt分区是硬盘 使用TrueCrypt加密的分区。 您还可以加密整个硬盘 磁盘,USB硬盘,USB存储器 棍棒和其他类型的存储 设备


对于不可访问的数据,您需要创建一个加密容器,您的程序将其表示为现有磁盘上的虚拟文件夹或虚拟磁盘(驱动器号)。第一种可能是通过Pismo文件装载,第二种可能是通过我们的产品(OS版)。这两种方法都需要在系统中安装内核模式驱动程序。这不是应用程序需求,而是操作系统体系结构需求

从技术角度来看,我们的方法更加健壮,因为Pismo文件装载使用了一个过滤器驱动程序,而SolFS使用了一个文件系统驱动程序,过滤器驱动程序更复杂,更容易出现兼容性问题(我们也有基于过滤器的产品,所以我对这两种方法都有经验)


(注意:TrueCrypt与C#无关,因此此处不适用。)

+1从我这里,海报承认他们推荐的产品是他们的既得利益,并在他们的展示名称和个人资料中强调了这一事实。我不认为这个类是垃圾邮件,因为它可能是一个可行的解决方案,至少和其他人推荐的TrueCrypt一样(据我们所知,任何其他答案都可以由TrueCrypt的工作人员提供…)谢谢你的好话。事实上,OP要求在他自己的应用程序中实现功能,TrueCrypt很难以这种方式使用。“使用我们的产品”也在文章的正文中。这是我们可以合理要求的最大程度的披露。