2011-01-06 131 views
1

我正在为个人(目前至少)使用备份程序。在VB.Net中存储Windows用户名和密码

对于某些目录(网络目录/受保护的目录),需要凭据来访问它们。

我可以在程序中设置不同的作业以在特定时间运行。

这些作业存储在一个XML文件中。

我还想存储作业所需的用户名和密码。

什么和哪里将是最好的方式来存储这些?

更改目录上的权限不是一个选项。

在此先感谢!

回答

2

您不应该在Windows中存储用户的登录密码以便能够访问本地目录。相反,您的备份程序应作为启用了SeBackupPrivilege的用户运行(即从作为本地系统运行的服务运行备份)。这意味着您不需要更改权限。

您可能还需要确保首先进行卷影复制 - 不要直接从磁盘进行复制,因为这可能会导致备份不一致。

此外,您需要特别注意加密文件,并需要使用ReadEncryptedFileRaw。

1

您可以执行备份程序作为计划任务,以特定用户身份运行。

至于存储密码,您可以使用IsolatedStorage存储它们,并使用双向加密,以便让某人在设法找到该文件时难以解密该文件。

检查此SO question实施双向加密。

+0

作为特定用户运行程序不是一个选项。导致不同的目录将需要不同的凭据。我认为双向加密总是与密钥一起使用?如果我想在将来发布应用程序,该怎么办?在这种情况下,我不希望密钥是相同的(想想逆向工程)。如何解决这个问题?质疑问题。 :P请告诉我,如果我走了。 :) 谢谢! – PeeHaa 2011-01-06 20:05:05

+1

你可以基于几个因素,如机器名称,域名,安装软件的人的用户名等在您的代码中生成密钥。另请参阅此SO问题http://stackoverflow.com/questions/99880/generatinga-a- unique-machine-id – 2011-01-06 20:16:20

相关问题