SQLite database实现加密

鼠扑  论坛元老 | 2024-11-4 17:06:32 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 2021|帖子 2021|积分 6063

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注意:以下操纵以VS2022为开辟工具,以C#为开辟语言。

数据加密原因

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

SQLite加密实现

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

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

然后只必要毗连SQLite的字符串中添加 Password=YourPassword 即可,以下为利用EFCore时重写OnConfiguring实现加密的示例,别的方式可参考此示例进行相应操纵:
  1.         protected override void OnConfiguring(DbContextOptionsBuilder options)
  2.             => 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.


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表