【发布时间】:2012-02-22 11:58:47
【问题描述】:
我想为一个目录和所有子文件夹和文件设置密码保护,这样任何人都无法通过 Windows 资源管理器访问,当他输入正确的密码时,撤消通过 C# 代码保护的密码。
建议我如何执行此操作并在可能的情况下提供示例代码。
提前致谢。
【问题讨论】:
标签: c# security password-protection
我想为一个目录和所有子文件夹和文件设置密码保护,这样任何人都无法通过 Windows 资源管理器访问,当他输入正确的密码时,撤消通过 C# 代码保护的密码。
建议我如何执行此操作并在可能的情况下提供示例代码。
提前致谢。
【问题讨论】:
标签: c# security password-protection
我会使用受密码保护的 zip 文件。
如果您想询问密码并在 C# 中解压缩,您可以使用流行的 C# 库:
【讨论】:
This question appears to have already been asked.
我建议使用 Derek 回答的加密 zip,或者如果您只是想阻止用户访问文件而不实际加密或编辑这些文件,请尝试 using CLSIDs in file names to hide folders from windows explorer。
如果您想使用该方法,只需在文件夹中添加一个包含密码的文本文件即可。当您想“解锁”它时,只需询问密码,对照文件夹中的文本文件检查它,删除文本文件并从文件夹名称中删除 CLSID。请注意,它不会以任何方式保护实际文件本身,只是阻止用户以常规方式访问它,这似乎是您的问题所在。
【讨论】:
此链接对我解决此问题有很大帮助。
http://www.codeproject.com/Articles/20880/Folder-protection-for-windows-using-C-Concepts-on
现在我正在调用一个批处理文件来重命名文件夹并撤消重命名文件夹。
这也解释了如何添加到该目录的右键单击动作并通过运行命令运行。
这里的缺点是XP机器中的CLSID不支持。但在部署配置中它会起作用。
也许这会有所帮助。
正如我提到的,我不想重命名文件夹。我现在正在检查带有或不带有 CLSID 的路径以访问其中的文件。
【讨论】: