.NET Sqlite加密

.NET Sqlite加密

Sqlite

目前做项目使用的数据库是Sqlite,但是Sqlite默认是不支持加密的,不加密的数据,到时候任何用户都能打开不太安全。

SQLite 在默认情况下不支持加密数据库文件。 而是需要使用修改后的 SQLite 版本,如 SEE、SQLCipher、SQLiteCrypt 或 wxSQLite3。 本文演示如何使用 SQLCipher 的不受支持的开放源代码内部版本,但该信息也适用于其他解决方案,因为它们通常遵循相同的模式。

安装

powershell 复制代码
Remove-Package Microsoft.Data.Sqlite
Install-Package Microsoft.Data.Sqlite.Core
Install-Package SQLitePCLRaw.bundle_e_sqlcipher

指定密钥

若要对新数据库启用加密,请使用 Password 连接字符串关键字指定密钥。 使用 SqliteConnectionStringBuilder 可从用户输入添加或更新值,并避免连接字符串注入攻击。

csharp 复制代码
var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
    Mode = SqliteOpenMode.ReadWriteCreate,
    Password = password
}.ToString();

运行项目

就会出现以下错误

输入命令shell

powershell 复制代码
dotnet remove package Microsoft.Data.Sqlite
dotnet add package Microsoft.Data.Sqlite.Core
dotnet add package SQLitePCLRaw.bundle_e_sqlcipher

重新运行项目 ,就会发现,他正常执行。没有任何报错。

相关推荐
阿丰资源5 小时前
基于SpringBoot的高校心理教育辅导系统(附源码+数据库+文档)
数据库·spring boot·后端
m0_676544385 小时前
HTML5中SVG线性渐变LinearGradient的矢量实现
jvm·数据库·python
m0_740352425 小时前
网页如何运行html
jvm·数据库·python
2301_775639895 小时前
mysql大表数据清理的利器_使用表分区按天删除数据
jvm·数据库·python
dblens 数据库管理和开发工具5 小时前
DBLens for PostgreSQL 正式发布|把 PostgreSQL 开发与管理带进 AI + Agent 时代
数据库·人工智能·postgresql
byoass5 小时前
文件版本管理的设计与实现:解决协同编辑丢数据的核心方案
前端·javascript·网络·数据库·安全·云计算
m0_684501985 小时前
Django 信号中为 ImageField 指定自定义保存路径的正确实践
jvm·数据库·python
2301_787312435 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
qq_432703665 小时前
CSS如何引入CSS预加载器配置_优化样式编译流程提升效率
jvm·数据库·python
2401_832365525 小时前
如何用 FormData 配合 Fetch 实现无刷新的多文件上传
jvm·数据库·python