簡體   English   中英

如何在C#和Sqlite安全性中隱藏數據庫密碼

[英]How to hide database password in C# and Sqlite security

我剛剛開始使用C#和SQlite數據庫(帶有敏感信息)開發桌面應用程序,該數據庫將安裝在本地任何PC上。 我想將數據庫密碼和sql命令存儲在安全的地方。 我對此有一些疑問:

  1. 您認為SQlite數據庫安全多少? 我已經讀過,通過添加加密,整個文件都被加密了,甚至是頭文件。 您認為安全多少?
  2. 要存儲密碼,有很多選擇(有些是我在想的簡單建議):a)將密碼和SQL命令存儲在dll文件中並對其進行混淆。 但是有沒有人嘗試過破解或使用Olly Debugger搜索它呢? b)將其加密到app.config文件中,進行自定義加密。 但是我已經讀了幾篇文章,並且加密連接字符串似乎很容易破解... c)將密碼放入XML文件中並對其加密,或者也許將其存儲在序列化文件中(但是加密也將存儲在源代碼,可以修改)。
  3. 如果應用程序已被混淆並且數據庫已加密。 您認為會有性能問題嗎?

謝謝。

您需要問問自己,您到底想保護什么以及為什么要保護自己。 在純客戶端安裝的應用程序中,尤其是在托管應用程序中,您可以做的任何事情都非常容易破解。 加密狗具有更高的防裂能力,但是如果收益足夠大,它們也不會阻止有經驗的餅干,它們既昂貴又給用戶和分銷商帶來痛苦。 保護應用程序的唯一可靠方法是在自己的服務器上運行它的敏感部分。 在您的情況下,數據庫可以駐留在您的服務器上,然后您可以給出各個密碼,檢查IP地址,限制查詢速率以阻止抓取等。

OTOH如果您唯一的目標是保護數據庫免受技術知識很少的人的偶然興趣,那么任何比配置文件中的純文本更復雜的數據庫加密方案和任何密碼存儲方案都可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM