簡體   English   中英

使用C#Windows應用程序將數據存儲在本地數據庫中,並使本地數據庫對用戶隱藏

[英]Store data in local DB using C# Windows Application and make local DB hidden from user

我想創建一個C#Windows應用程序並將數據存儲在本地數據庫中,例如SQL Express(或任何其他本地數據庫)。 然后,我想使用戶無法直接訪問本地數據庫,並且僅應由Windows應用程序訪問數據。

換句話說,我需要類似“隔離存儲”的功能,但是需要在關系數據庫中存儲大量結構化數據。

沒有更多詳細信息,這是一個很難完全回答的難題,但是您可以嘗試以下選項:

  • 最簡單的方法是在本地安裝SQL Server並使用透明數據加密功能,但這僅在企業版中可用(這意味着價格較高)
  • SQL Server LocalDb無法加密,並且我相信如果有人可以訪問數據庫文件,則可以輕松繞過其密碼保護
  • 可以對SQLite數據庫進行密碼保護,以避免有人不知道密碼訪問它們
  • 有一些擴展可以加密SQLite數據庫,但大多數擴展都需要許可證。 您可以查看此答案以獲取更多信息

您可以按照以下三種方式進行安全保護:
1.為您的數據庫添加用戶名和密碼
2.大多數嵌入式Db具有自己的安全級別
3.使用System.Security.Cryptography保護您的數據

並且有許多嵌入式數據庫可供使用:

  1. 具有ADO.NET提供程序的SQLite Db
    您可以將其與SQLCipher一起使用,它是SQLite的開源擴展,它提供數據庫文件的透明256位AES加密。
  2. LiteDB是一個開放源代碼,跨平台,無服務器的數據庫,以單個DLL(小於200kb)交付,完全以.NET 3.5 C#托管代碼編寫
  3. Firebird它是一個免費的開源數據庫, 並由Ado.Net支持

暫無
暫無

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

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