2014-12-02 117 views
0

我正在创建一个C#窗体表单应用程序,通过单击使用MSTSC将我登录到我的服务器。我有我的管理员名称和密码在纯文本的代码,并想知道是否有一种方法来掩盖/隐藏密码?我将我的代码存储在Dropbox中,并希望它不可读。掩码密码字符串

private void RunAsAdmin(string server) 
    { 
     Process rdcProcess = new Process(); 
     rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe"); 
     rdcProcess.StartInfo.Arguments = "/generic:TERMSRV/192.168.0.217 /user:" + "Administrator" + " /pass:" + "myPassword"; 
     rdcProcess.Start(); 
+3

这是错误的这么多层次:(欢迎反正计算器,看看在[常见问题](http://stackoverflow.com/help/how-to-ask) – aggsol 2014-12-02 09:53:03

+1

[在源代码中保护密码?]的可能重复(http://stackoverflow.com/questions/4155187/securing-a-password-in-source-code) – 2014-12-02 09:54:21

+0

可能会掩盖它,但实际上不可能隐藏它,要掩码,你可以使用加密函数,但是在某些地方你也必须存储解密密钥。一般来说,在源代码中存储密码是一个非常糟糕的主意。 – Sjips 2014-12-02 09:55:06

回答

0

使用此功能encryptdecrypt密码。

Public Function ConvertPassword(ByVal sPassword As String) 
     Dim sTempChar As String 
     Dim iCount As Integer 

     For iCount = 1 To Len(sPassword) 
      If Asc(Mid$(sPassword, iCount, 1)) < 128 Then 
       sTempChar = CType(Asc(Mid$(sPassword, iCount, 1)) + 128, String) 
      ElseIf Asc(Mid$(sPassword, iCount, 1)) > 128 Then 
       sTempChar = CType(Asc(Mid$(sPassword, iCount, 1)) - 128, String) 
      End If 

      Mid$(sPassword, iCount, 1) = Chr(CType(sTempChar, Integer)) 
     Next iCount 

     Return sPassword 
    End Function 
+0

嗨Kumar,谢谢,这是VB吗? – Nikewatch 2014-12-02 10:40:02

+0

@ Paul Crozier:是的。 – 2014-12-02 10:51:01

+0

嗨库马尔。我得到这个使用你的代码作为指导。再次感谢 – Nikewatch 2014-12-12 10:20:43

0

我同意将密码存储在文件中是一个坏主意。我所做的有时是base64编码它。我意识到这是非常不安全的,但我只是试图阻止一个偶然的读者看到密码。

0

作为答案的一部分,您可以通过设置以下属性来掩盖密码。一个Windows窗体的文本框:

TextBox.UseSystemPasswordChar = true;