当前位置: 首页 > article >正文

SQLite database实现加密

注意:以下操作以VS2022为开发工具,以C#为开发语言。

数据加密原因

软件在使用的各个场景,很多都需要数据具有保密性,于是对于数据库就需要加密。特别是在某些特定领域或存储敏感数据尤其如此。

SQLite加密实现

SQLite加密有两种方式,其一是使用SQLite的收费版本,其可以实现加密;另一种就是使用免费的SQLitePCLRaw 来实现。收费版由于囊中羞涩,就不多说了,说说使用SQLitePCLRaw怎么实现加密。

加密实现步骤

首先在所需要的项目安装Nuget包SQLitePCLRaw.bundle_e_sqlcipher,当前最新版本为2.1.7。

然后只需要连接SQLite的字符串中添加 Password=YourPassword 即可,以下为使用EFCore时重写OnConfiguring实现加密的示例,其它方式可参考此示例进行相应操作:

        protected override void OnConfiguring(DbContextOptionsBuilder options)
            => options.UseSqlite($"Data Source={DbPath};Password={Consts.DbPwd}");

加密后数据如何查看?

通过上述操作加密后使用Sqlite查看工具就需要输入密码才可进行查看数据,以SQLiteStudio为例进行说明。

1.添加数据库时,Database type一定要选择SQLCipher,然后再选择你的Sqlite的db文件。

2.在下图中的Password中录入密码(Sqlite加密是没有用户名的),然后点击下图中左下角的Test connection进行测试,确认密码是否正确。

密码正确的话,点击上图中的OK,即可成功将数据库添加到SQLiteStudio中。后续的数据查看及相应操作与未加密的SQLite完全一致。

验证database是否加密?

至于验证是否加密,若安装了SQLiteStudio,并将db文件关连了SQLite Studio,那么双击 .db文件是不能直接打开的,双击时会出现报错:[17:45:06] Could not add database F:\backup\Source\win10-x64\DataBase\your.db: file is not a database; file is not a database; file is not a database.


http://www.kler.cn/a/231274.html

相关文章:

  • C语言【基础篇】之流程控制——掌握三大结构的奥秘
  • Windows系统本地部署deepseek 更改目录
  • [STM32 - 野火] - - - 固件库学习笔记 - - -十二.基本定时器
  • 阿里云 - RocketMQ入门
  • MySQL数据库(二)
  • 项目集成GateWay
  • sklearn模型指标和特征贡献度查看
  • docker之程序镜像的制作
  • 有趣的CSS - 旋转的太极图
  • JVM-运行时数据区程序计数器
  • Flink实战六_直播礼物统计
  • 如何利用chatgpt提升工作效率
  • 数据结构——D/二叉树
  • 【芯片设计- RTL 数字逻辑设计入门 11 -- 移位运算与乘法】
  • SpringBoot和SpringMVC
  • 51单片机之数码管显示表白数字篇
  • Linux下的socket操作
  • C++初阶之类与对象(上)详细解析
  • vue 引入 百度地图API 和 路书
  • linux C编程入门
  • 【数据挖掘岗】9家互联网、知名企业秋招(含实习)面试题汇总
  • 寒假作业-day5
  • 【C#】.net core 6.0 创建默认Web应用,以及默认结构讲解,适合初学者
  • 相机图像质量研究(6)常见问题总结:光学结构对成像的影响--对焦距离
  • Ansible command命令模块 这个模块可以直接在远程主机上执行命令,并将结果返回本主机。
  • 开源!免费!Hugging Face推出GPT商城