具有加密功能的嵌入式 SQL 数据库?

Posted

技术标签:

【中文标题】具有加密功能的嵌入式 SQL 数据库?【英文标题】:Embedded SQL database with encryption? 【发布时间】:2016-03-25 05:19:41 【问题描述】:

我正在寻找可以与 C# Winforms 应用程序一起分发的 SQL 数据库引擎。要求是:

    将存储大约 1GB 的文本(在任何压缩之前测量)。 数据库必须加密,加密密钥将由应用程序在运行时提供。 压缩(加密之前)会很好,因此可以通过低带宽网络远程替换损坏的数据库 连接。 可靠性,更换损坏的数据库可能需要进行昂贵的现场访问。 许可成本和支持成本低。 用户只能通过应用程序访问数据,因此不需要花哨的 UI。

我考虑过的选项:

    Sybase SQL Anywhere - 可以,但不是“免费”。 MS SQL Server Express - 没有整个数据库加密! SQLite - 加密需要支付许可费? VistaDB - 不是“免费的”。

还有哪些其他产品符合要求?

【问题讨论】:

【参考方案1】:

获取 Visual Studio“SQLite/SQL Server Compact Toolbox”扩展。使用这个:

如果您手动运行命令,来自 Nuget 的

Microsoft.SqlServer.Compact 将创建加密数据库

Create Database "something.sdf" databasepassword 'somepassword' 

在扩展程序的查询窗口中。

来自 Nuget 的

System.Data.SQLite.Core 将使用加密数据库,前提是您使用上述扩展程序创建数据库并在创建数据库时输入密码。

【讨论】:

以上是关于具有加密功能的嵌入式 SQL 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

H2 功能特点

H2 功能特点

哪个嵌入式数据库具有最大的 SQL 合规性和并发支持?

如何从具有执行类型作为嵌入式查询的 Control-M 数据库作业运行 SQL Developer 中存在的存储过程

mbedtls安装与入门

使用嵌入式SQL对学生-课程数据库中的表完成下述功能