【解決方法】接続文字列からパスワードを非表示にするにはどうすればよいですか?


私は mysql ワークベンチを使用して ac# アプリケーションを作成しています。接続文字列にパスワードが表示されています。 パスワードを公開せずにコード行を記述する方法は?

私が試したこと:

    class DB
    {
        private MySqlConnection connection = new MySqlConnection("server=localhost;port=3306;username=root;password=password;database=database");
        
        public void openConnection()
        {
            if(connection.State == System.Data.ConnectionState.Closed)
            {
                connection.Open();
            }
        }

        public void closeConnection()
        {
            if (connection.State == System.Data.ConnectionState.Closed)
            {
                connection.Close();
            }
        }

        public MySqlConnection getConnection()
        {
            return connection;
        }
    }
}

助けてください!
私のアプリは誰かによってレビューされるので、パスワードが表示されないようにする必要があります。

解決策 1

通常、コード内で接続文字列をハードコーディングすることはありません。 通常は、アプリの app.config ファイルに配置します。

その後、構成ファイルの接続文字列セクションを暗号化できます。

見る 接続文字列と構成ファイル | Microsoft Docs[^].

解決策 2

通常、使用しているプラ​​ットフォームのドキュメントを読むことになります:
接続情報の保護 | Microsoft Docs[^]

解決策 3

SqlConnection con = new SqlConnection(“Data Source=DESKTOP-DAIPE7P;Initial Catalog=user name password;Integrated Security=True”);
SqlCommand cmd = new SqlCommand(@”INSERT INTO [dbo].[user name password]

([UserId]

、[First Name]

、[Last Name]

、[Contact]

、[Gender]

、[Address]

、[UserName]

、[Password])

(‘” + textBox1.Text + “‘, ‘” + textBox2.Text + “‘, ‘” + textBox3.Text + “‘, ‘” +omboBox1.SelectedItem.ToString() + “‘, ‘” + textBox4.テキスト + “‘, ‘” + textBox5.Text + “‘, ‘” + textBox5.Text + “‘,)”);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(“登録成功”);

if (checkBox1.Checked)
{
textBox6.UseSystemPasswordChar = true;

}
そうしないと
{
textBox6.UseSystemPasswordChar = false;
}

コメント

タイトルとURLをコピーしました