C# 从.NET C代码中隐藏FTP凭据#

C# 从.NET C代码中隐藏FTP凭据#,c#,.net,windows,forms,C#,.net,Windows,Forms,我有一个应用程序需要上传一个文件到我的FTP服务器,但我注意到任何人都可以反编译该应用程序并获取FTP的用户和密码。 代码如下: using (WebClient client = new WebClient()) { client.Credentials = new NetworkCredential("ftpuser"

我有一个应用程序需要上传一个文件到我的FTP服务器,但我注意到任何人都可以反编译该应用程序并获取FTP的用户和密码。 代码如下:

                            using (WebClient client = new WebClient())
                            {
                                client.Credentials = new NetworkCredential("ftpuser", "ftppassword");
                                client.UploadFile("ftp://ip/" + Computer + "_" + ExecTime + ".txt", "STOR", Application.StartupPath + @"\Stats.txt");
                            }

我想对任何人隐藏这些凭证。如何做到这一点?

更明智的做法是实现公共FTP,而不使用凭据,并且只对所需资源进行非常有限的访问。模糊处理不会起作用,因为无论如何都会有人对其进行去模糊处理。由于您希望从客户端上载文件,因此可能需要放置某种控制器,以便上载机制不会被滥用。 或只需为每个用户提供一个访问权限有限且问题已排序的帐户:)。
我认为这更多的是一个设计问题:)

简单的回答是你不能。客户端计算机上不能有机密。任何东西都是看得见的。你只能通过混淆它使它难以找到。但当你使用FTP时,这并没有帮助,因为它以明文形式发送密码,而且非常容易拦截。最好的选择可能是为每个用户提供自己的用户名和密码。建议:不要使用FTP,使用HTTP文件上载。让HTTP服务器执行您想要的任何身份验证/检查,包括检查文件是否有效类型/大小检查病毒。在HTTP上传中添加逻辑很容易,FTP没有那么多。