我正在尝试编写一个应用程序,它将被安排每小时从Sharepoint服务器自动下载一个页面.它是一个xml文件.到目前为止一切都有效,除了我不喜欢在我的应用程序中以明文形式存储连接到Sharepoint所需的密码.示例代码:
WebClient client = new WebClient();
String username = "myusername";
String password = "mypassword"
String filename = "C:\\Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xml";
client.Credentials = new System.Net.NetworkCredential(username, password);
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password));
client.DownloadFile("myurl", filename);
Run Code Online (Sandbox Code Playgroud)
有没有办法如果有人从我的服务器获得可执行文件并使用Reflector对其进行反汇编,那么如何更难以读取我的密码?
我发现了这个:
如何在Winforms应用程序中存储密码?但我并没有真正弄清楚如何在我的应用程序中使用它.
事实上,你最好不要使用密码.如果服务在正确的凭据下运行,您可以使用以下命令使用该凭据DefaultNetworkCredentials:
所以在你的样本中:
client.Credentials = CredentialCache.DefaultNetworkCredentials;
Run Code Online (Sandbox Code Playgroud)
这将为您提供当前网络用户的凭据,例如DOMAIN\USER.
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |