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

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.lryc.cn/news/298230.html

相关文章:

  • Python requests模块 快速入门 这篇就够了
  • 【VTKExamples::PolyData】第二十三期 InterpolateMeshOnGrid
  • 大数据术语系列(1)——COW和MOR,我如何使用chatgpt通俗易懂地理解了hudi这两种表类型
  • 蓝桥杯基础知识7 vector
  • 【Java万花筒】加速Java应用程序:探索性能优化的利器
  • c++ STL系列——(四)queue
  • 2.10日学习打卡----初学RocketMQ(一)
  • Window中出现 结束服务又自动重启的解决方法
  • Bee V2.2 分库分表 Sharding+MongoDB ORM 稳定版发布 (更新 Maven)
  • 机器学习系列——(十五)随机森林回归
  • 【概念板块统计】股票板块一览表 股票概念一览表
  • c#通过反射完成对象自动映射
  • ef core原始sql查询
  • 2024 CKS 题库 | 4、RBAC - RoleBinding
  • Docker Compose实例
  • Mac上新版InfluxDB使用教程
  • 性能篇:网络通信优化之序列化
  • 【UE 游戏编程基础知识】
  • 原语,原子,线程安全
  • fast.ai 机器学习笔记(一)
  • Linux下的socket操作
  • 爬虫练习——动态网页的爬取(股票和百度翻译)
  • Name or service not known问题解决和分析过程解析
  • emmet语法
  • 【PTA主观题】8-1 文件操作
  • 机器学习算法决策树
  • ssh和sftp服务分离
  • Bootstrap学习三
  • 第77讲用户管理功能实现
  • 锐捷(十九)锐捷设备的接入安全