用C#加密你的硬盘

时间:2010-10-15 14:53:00

标签: encryption c#-4.0

如何通过C#以编程方式保护硬盘?

就像用户想要打开硬盘一样,首先他/她必须提供密码才能访问它。如果密码错误,则该用户将隐藏硬盘..

2 个答案:

答案 0 :(得分:2)

如果您在使用C#编写的应用程序中尝试执行此操作:

获取逻辑驱动器:

string[] drives = Directory.GetLogicalDrives();

同时检查一下: http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_23825199.html

http://bytes.com/topic/c-sharp/answers/276247-get-drive-letter-win32_diskdrive

您需要进一步扩展。将驱动器号与密码相关联并将其保存在某处。如果输入的密码正确,请显示该驱动器,因为您已有一个列表/数组。 (注意我现在写这篇文章还为时过早,我感冒了 - 但这很简单)。

您有驱动器列表,检查密码以查看是否可以看到驱动器,如果有,请让他们看到。


如果您试图限制整个Windows系统根据密码显示驱动器号,我会说不要使用C#。这是一个Windows安全问题。

我建议阅读abot MS Group Policies。本文可以帮助您: http://support.microsoft.com/kb/231289

答案 1 :(得分:1)

我不认为这可以透明地完成(您可以使用任何程序访问该文件)并且安全地(即,磁盘实际上是加密的,而不仅仅是从shell中隐藏)在C#中(在Windows上,而不是在Singularity)。要动态解密磁盘,您需要一个内核模式驱动程序。你不能在.NET中写这个。

在Linux上,您可以在C#+ FUSE中编写Mono(用户模式)驱动程序。