C# 部署预配置的SQLite数据库

C# 部署预配置的SQLite数据库,c#,.net,database,sqlite,C#,.net,Database,Sqlite,我们正试图在我们的软件中部署一些非常基本的用户管理功能。我们将有两个表(用户,组,权限)不超过1000行。数据库将预先配置某些权限,但组和用户将由最终用户使用我们的GUI创建 我的问题是: 如何在部署时设置此数据库的“默认值” 我如何保护这个数据库?(它将是一个离线数据库, 因此永远不会100%安全,但我更愿意至少输入一个密码 在上面。) 我可以将数据库文件设置为“嵌入式资源”,以便 对Windows资源管理器隐藏,以及外行 我应该使用SQLite Visual Studio Designer

我们正试图在我们的软件中部署一些非常基本的用户管理功能。我们将有两个表(
用户
权限
)不超过1000行。数据库将预先配置某些权限,但组和用户将由最终用户使用我们的GUI创建

我的问题是:

  • 如何在部署时设置此数据库的“默认值”
  • 我如何保护这个数据库?(它将是一个离线数据库, 因此永远不会100%安全,但我更愿意至少输入一个密码 在上面。)
  • 我可以将数据库文件设置为“嵌入式资源”,以便 对Windows资源管理器隐藏,以及外行
  • 我应该使用SQLite Visual Studio Designer工具来完成这项工作吗?还是我应该把它全部写在代码里

    • 对于您的问题,我想以下是我对以下几点的回答:

      • 默认设置:您是指存储在表中的默认设置吗?您可以拥有一个default.sql文件,并在安装过程中导入该文件
      • 安全性:与SQLite出自同一作者的化石scm以某种方式处理此问题。Fossil生成一个项目ID,一个唯一的长数字,并将此ID用作生成密码SHA-1的salt。()但是,如果您需要更高的安全级别,这仍然是不够的
      • 我个人不这么认为。嵌入的资源被编译到程序集文件中,因此它在程序集中得到了一个固定的偏移量。我不认为它可以改变大小
      • 设计工具:我认为没关系,两种代码都可以