我有一個關於SecureString
作爲MySql連接器的連接字符串的一般問題。如果我理解正確,SecureStrings
是在我的程序中存儲字符串的「安全」方式。現在我已經兩個問題與:MySQL SecureString作爲連接字符串
- 我在安裝時的密碼讀取(
TextBox
這是string
,因此不安全) - 我已經建立了使用mysql-connector連接字符串這是
string
(不安全再次)
例如:
MySqlConnection con = new MySqlConnection();
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
builder.Add("SERVER", "loaclhost");
builder.Add("PORT", "3306");
builder.Add("DATABASE", "test_db");
builder.Add("UID", "root");
builder.Add("PASSWORD", "11235813"); //not the real password ;)
con.ConnectionString = builder.ConnectionString;
con.Open();
這讓我想起我的下一個問題:MySQL的精讀nector API是「不安全的」,因爲所有值都以明文string
存儲。
最後的問題:是否有使用SecureString
?
在我看來,我可以在我的程序中隨處使用string
。如果談到MySQL,所有類型的加密(在我的程序中)都是沒用的。
我說得對嗎?還有其他方法嗎?
問候 亞歷
[我什麼時候需要.NET中的SecureString?](http://stackoverflow.com/questions/141203/when-would-i-need-a-securestring-in-net) –
該帖子年齡較大,但那裏有很好的信息。被接受的答案很好的解釋了爲什麼還要有'SecureString'_(「主要目的是減少攻擊面,而不是消除它」),並列出目前支持它的端到端(那裏可能是框架中的其他對象,現在也支持它...我不確定)。 –
ty,我已經讀過。這不是真的解決我的問題。我正在使用WinForms(我將添加標籤),因此沒有密碼箱,我無法讀取密碼,因爲'SecureString'不支持該操作,並且MySQL-Connector使用多個字符串作爲密碼,connectionstring和等等。 – Alex