【问题标题】:How create an encrypted mounted Folder如何创建加密的挂载文件夹
【发布时间】:2012-09-28 15:52:54
【问题描述】:

我想创建一个挂载的文件夹以供稍后加密,我的意思是创建一个普通目录(C:\path\to\myfolder)并将其挂载到驱动器(I:\)所以任何更改都会发生在两个路径中,我的目标是如果添加到I:\ 的任何文件将在C:\path\to\myfolder 中自动加密

问题:

  • 如何在不接触驱动器下的文件或目录的情况下监控已挂载的文件夹并加密其子文件夹(文件或目录)。
  • 有没有办法从头开始创建这个挂载的文件夹,这样添加的任何文件都会在文件夹下自动加密并在驱动器下解密,如果我挂载时它已经存在,文件将在关联下解密开车。

任何帮助将不胜感激。

【问题讨论】:

  • 文件是否应该在C:\path\to\myfolder 中显示为加密,而在 `I:` 中显示为未加密?有什么意义?
  • 我的意思是,如果我想将C:\path\to\myfolder 挂载到驱动器上,只需将其下的文件和目录解密即可。

标签: c++ qt winapi driver directory


【解决方案1】:

如果你想使用 NTFS 加密,那么你可以使用EncryptFile API 来加密现有的文件/目录。如果提供了目录,则添加到其中的任何新文件都将被加密。

更多信息Handling Encrypted Files and Directories

或者您想实现自己的加密驱动程序?

【讨论】:

  • 是的@Rohan,EncryptFile 不要让我选择已经在我的应用程序中实现的加密算法,请有任何想法!!!!
  • @oumaya,在这种情况下,我认为您必须实现文件系统微过滤器驱动程序来加密文件数据。稍微复杂一点!
  • 所以我应该创建自己的文件系统驱动程序,你的意思是什么?以及它没有帮助的 Dokan 库怎么样?
  • 您需要文件系统过滤器驱动程序(现在更优选的是微过滤器驱动程序)。我对 Dokan 库了解不多。
  • 时间紧迫,所以我现在将使用EncryptFile,稍后我将尝试使用minifilter驱动,谢谢你的宝贵想法@Rohan :)
【解决方案2】:

在 Linux 下,有一个名为 encfs(加密文件系统)的实用程序,它允许拥有一个加密文件夹并将该文件夹的解密版本挂载到其他文件夹中。

有一个可用的 windows 端口 (http://members.ferrara.linux.it/freddy77/encfs.html),但我从未使用过。

请注意,此解决方案在操作系统本身中,但如果需要,您应该能够以编程方式访问这两个文件夹,并且可能还可以使用应用程序中的系统调用挂载/卸载文件夹。

【讨论】:

  • 谢谢@Zane,这真的很有趣,但是我的应用程序创建了一个普通文件夹,将其挂载到选定的驱动器并可以卸载它,最后要做的唯一功能是加密在驱动器中创建的任何文件在创建的文件夹下(也实现了加密算法)
猜你喜欢
  • 2017-09-23
  • 2020-10-04
  • 1970-01-01
  • 2019-04-10
  • 2014-04-30
  • 1970-01-01
  • 2022-11-25
  • 1970-01-01
  • 2017-11-05
相关资源
最近更新 更多