2017-07-27 101 views
0

我想建立一個VB.NET應用程序將連接到MySQL數據庫。 我正在考慮將MySQL密碼放在My.Setting文件上,但這很容易閱讀。哪一種將密碼放在程序上最安全? 我不想在啓動時問它,我希望它被嵌入到軟件中,但是在哪裏?MySQL的密碼安全

+0

有密碼和密碼。我不會給任何用戶一個密碼到數據庫 - 它可以允許然後在沒有你的應用程序的情況下訪問數據庫。相反,讓用戶驗證自己的應用程序,然後使用自己的憑據。選項取決於它是否是桌面應用程序或Web應用程序,以及我們沒有暗示的其他細節。另外,請閱讀[問]並參加[遊覽] – Plutonix

回答

0

Wellll .....如果它存儲在一個自動程序可讀的格式(又名,用戶不必輸入任何密碼或憑證,以使應用程序能夠利用所述數據庫密碼)那麼並不完全是一種「安全」的方式,因爲任何有意義的加密都要求用戶輸入一些憑據來檢索加密信息。您可以將它作爲Base64文本存儲在模塊中進行模糊處理,但這並不是「安全」的。完全一樣。它只是編碼不同(不加密)。

給我更大的問題是,是環境安全嗎?在例如網站的後端,用於SQL數據庫的口令通常存儲在無阻礙的PHP配置文件...那是因爲環境是安全的:PHP源不能被獲得公共和受信任的用戶訪問後端都被認爲是非惡意的。

所以,這引發了一些問題:

  • 如果從運行的應用程序?
  • MySQL數據庫在哪裏,本地或遠程?
  • 有多少人可以訪問此數據庫或將使用此應用程序?

這些都是應該佔全部因素。其他

一兩件事 - 如果你正在構建一個.NET應用程序,有一定的.NET代碼混淆器,在那裏,你的編譯代碼,使其很難掠奪編譯一次玩。這可能是你感興趣的。我相信Dotfuscator會在Visual Studio中發佈標準版嗎?您可以註冊一個免費賬戶。

+0

我正在嘗試構建RPG多人遊戲,帳戶/角色信息存儲在MySQL數據庫中。圖像,音樂,連接和除帳戶和角色信息外的所有內容均基於客戶端。 目前我有連接字符串,包括項目中的模塊上的IP,端口,用戶名和密碼。 – Reviyee

+0

從您的解釋和我對網絡界面知識的掌握來看,我打賭您確實需要構建您的桌面應用程序以利用安全隧道與_web應用程序/ service_進行對話;讓Web應用程序/服務進行數據庫交談,因爲它在隔壁;然後通過安全隧道返回服務中繼消息。這樣,您的數據庫用戶名/密碼不會通過電線發送(他們絕不應該是)。桌面應用程序只應將播放器的憑據發送到遠程服務器,該服務器在內部驗證並處理所有與數據庫相關的內容,然後將結果發回。 –

+0

你可以寫一個簡單的php腳本來處理這個問題,甚至,我相信visual studio支持異步web服務調用。我認爲。不要引用我。 –