Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 掩码密码字符串_C#_Passwords - Fatal编程技术网

C# 掩码密码字符串

C# 掩码密码字符串,c#,passwords,C#,Passwords,我正在创建一个C windows窗体应用程序,使用MSTSC只需单击一下即可将我登录到我的服务器。我有我的管理员姓名和密码在代码中的纯文本,想知道有没有办法屏蔽/隐藏密码?我将代码存储在Dropbox中,希望它不可读 private void RunAsAdmin(string server) { Process rdcProcess = new Process(); rdcProcess.StartInfo.FileName = Environm

我正在创建一个C windows窗体应用程序,使用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();
使用此函数对密码进行加密和解密

 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

我同意将密码存储在文件中是个坏主意。我偶尔做的就是对它进行base64编码。我意识到这是非常不安全的,但我只是想防止随便的读者看到密码。

作为答案的一部分,您可以通过在windows窗体文本框中设置以下属性来屏蔽密码:

 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
TextBox.UseSystemPasswordChar = true;

这在很多层面上都是错误的:无论如何欢迎来到stackoverflow,看看它的可能副本,它可以屏蔽它,但实际上不可能隐藏它。要屏蔽,您可以使用加密函数,但也必须在某处存储解密密钥。一般来说,在源代码中存储密码是一个非常糟糕的主意。谢谢,看起来在代码中添加密码不是这样做的。我会重新考虑整件事的。谢谢阿金希·库马尔。非常感谢。这是VB吗?嗨,库马尔。我用你的代码作为指导来完成这项工作。再次感谢