我剛剛開始使用C#和SQlite數據庫(具有敏感信息)開發桌面應用程序,該數據庫將安裝在任何本地PC上。我想將數據庫密碼和sql命令存儲在安全的地方。我對此有一些疑問:如何在C#和Sqlite安全中隱藏數據庫密碼
- 您認爲SQlite數據庫有多安全?我已閱讀 ,通過添加加密,整個文件被加密,甚至 標題。你認爲這有多安全?
- 要存儲密碼,有很多選擇(有些可能是我正在考慮的簡單建議): a)將密碼和SQL命令存儲在dll文件中並對其進行模糊處理。但是有沒有人嘗試過使用Olly Debugger來破解或者搜索它? b)在app.config文件中加密它,自定義加密。但我讀過幾篇文章和加密連接字符串似乎是可破解的...... c)將密碼放在一個XML文件中並加密它或者在一個序列化的文件中(但是加密也將被存儲在一個源代碼並可以被折射)。
- 如果應用程序被混淆並且數據庫被加密。你認爲會有任何性能問題嗎?
謝謝。
裸SQLite不加密數據庫,但有一些擴展,你可能想看看:http://www.hwaci.com/sw/sqlite/see.html,http://sqlcipher.net/ – thang
當然,我沒有使用裸的sqlite,我使用SQlite Expert Professional或sqlite.org提供的dll來加密它。我試過在文本編輯器中打開文件,它似乎被加密。 – tomyake
你怎麼知道它是加密的?我認爲很多時候,很難用眼睛來分辨。加密擴展可以在OFB模式下執行AES-256,這可能相當不錯。我認爲只看到船隻是源代碼,所以如果你得到的DLL,可能是它不是內置... – thang