当前位置: 首页 > 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.

相关文章:

SQLite database实现加密

注意:以下操作以VS2022为开发工具,以C#为开发语言。 数据加密原因 软件在使用的各个场景,很多都需要数据具有保密性,于是对于数据库就需要加密。特别是在某些特定领域或存储敏感数据尤其如此。 SQLite加密实现 SQLite加密有两种…...

Python requests模块 快速入门 这篇就够了

目录 一、Requests概述 二、安装Requests 三、Get请求 3.1 Get请求示例 3.2 Get请求爬取二进制数据 四、Post请求 4.1 Post请求示例 4.2 发送JSON数据 五、验证Cookies 六、会话请求 一、Requests概述 Requests是一个流行的Python第三方库,它专为HTTP通信…...

【VTKExamples::PolyData】第二十三期 InterpolateMeshOnGrid

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例InterpolateMeshOnGrid,并解析接口vtkProbeFilter 、vtkWarpScalar & vtkDealuany2D等多个接口,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!…...

大数据术语系列(1)——COW和MOR,我如何使用chatgpt通俗易懂地理解了hudi这两种表类型

从传统数据库到大数据的转变,首当其冲的是各种术语的理解。 所以我与chatgpt发生了一系列对话,以便于我能快速理解这些术语。 我先把汇总的结果放在前边,后边会一步步地来说明我是如何获取这些信息的。前边我也发过一些关于chatgpt提示词相…...

蓝桥杯基础知识7 vector

蓝桥杯基础知识7 vector vector 的定义和特性&#xff1a;在C中&#xff0c;vector是一个动态数组容器&#xff0c;可以存储一系列相同类型的元素。 vector 是一个模板类&#xff0c;使用之前包含头文件<vector>&#xff0c;声明一个vector对象vec&#xff0c;T是存储在v…...

【Java万花筒】加速Java应用程序:探索性能优化的利器

Java性能优化&#xff1a;提升应用程序效率与可靠性的关键 前言 在当今软件开发领域中&#xff0c;性能是一个至关重要的方面。对于Java应用程序而言&#xff0c;优化其性能可以带来更高的效率和更好的用户体验。本文将介绍一些常用的Java性能优化库和工具&#xff0c;帮助开…...

c++ STL系列——(四)queue

在C中&#xff0c;标准模板库&#xff08;STL&#xff09;提供了许多容器和算法&#xff0c;其中之一便是queue。queue是一个先进先出&#xff08;FIFO&#xff09;的数据结构&#xff0c;它允许在队列的末尾添加元素&#xff0c;并从队列的开头移除元素。本文将深入探讨C STL中…...

2.10日学习打卡----初学RocketMQ(一)

2.10日学习打卡 对于MQ(Message queue)消息队列的一些解释可以看我原来写的文章 初学RabbitMQ 各大MQ产品比较 一.RocketMQ概述 发展历程 RocketMQ概念术语 生产者和消费者 生产者负责生产消息&#xff0c;一般由业务系统负责生产消息&#xff0c;消费者即后台系统&…...

Window中出现 结束服务又自动重启的解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 长期使用Linux操作系统,对于Window进程如何关闭开启,推荐阅读:Window命令行 如何查看以及关闭进程 而现在遇到进程无法强制kill,过一会自动启动! 对这种方式如何强制关闭,可看下文 1. 问题所示 起初在驱动某个服务的…...

Bee V2.2 分库分表 Sharding+MongoDB ORM 稳定版发布 (更新 Maven)

Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee 小巧玲珑&#xff01;仅 860K, 还不到 1M, 但却是功能强大&#xff01; V2.2 (2024.1.1・LTS 版) 1.Javabean 实体支持继承 (配置 bee.osql.openEntityCanExtendtrue) 2. 增强批…...

机器学习系列——(十五)随机森林回归

引言 在机器学习的众多算法中&#xff0c;随机森林以其出色的准确率、对高维数据的处理能力以及对训练数据集的异常值的鲁棒性而广受欢迎。它是一种集成学习方法&#xff0c;通过构建多个决策树来进行预测和分类。本文将重点介绍随机森林在回归问题中的应用&#xff0c;即随机…...

【概念板块统计】股票板块一览表 股票概念一览表

一、什么叫股票概念板块 股票概念板块是指具有某种特别产品类型&#xff08;例如5G概念&#xff0c;光刻机概念&#xff09;、服务类型&#xff08;如乡村振兴概念、养老概念&#xff09;或事件类型&#xff08;如重组概念、港股通概念、扭亏概念)的股票组成的群体。这些类型通…...

c#通过反射完成对象自动映射

在 C# 中&#xff0c;可以使用 AutoMapper 库来完成对象之间的映射&#xff0c;而不必手动编写显式的映射代码。但是&#xff0c;如果你希望通过反射来动态完成对象的映射&#xff0c;你可以编写自己的映射逻辑并使用反射来完成这个过程。 下面是一个简单的示例&#xff0c;演…...

ef core原始sql查询

ef core用原始sql查询&#xff0c;不能自动映射到类型中。 处理主要是将sql查询结果转换为json&#xff0c;然后再将json转换为类型对象 public async Task<List<Warning_log>> GetStatData(){string sql "SELECT CONVERT(date, [trigger_time]) as tr…...

2024 CKS 题库 | 4、RBAC - RoleBinding

CKS 题库 4、RBAC - RoleBinding Context 绑定到 Pod 的 ServiceAccount 的 Role 授予过度宽松的权限。完成以下项目以减少权限集。 Task 一个名为 web-pod 的现有 Pod 已在 namespace db 中运行。 编辑绑定到 Pod 的 ServiceAccount service-account-web 的现有 Role&#…...

Docker Compose实例

目录 一、前提说明 二、简单的Docker容器部署案例 1. Dockerfile 配置 2. docker-compose.yml 配置 3. application-prod.properties 配置 4. pom.xml 配置 5. 上传文件 6. 创建基础Docker镜像 7. docker-compose.yml编排 8. 停止并删除容器编排 三、案例地址 一、前…...

Mac上新版InfluxDB使用教程

一、简介 官网&#xff1a;influxdb 二、influxdb安装 建议使用Homebrew在 macOS 上安装 InfluxDB v2&#xff1a; brew install influxdb启动influxdb服务&#xff1a;brew services start influxdb 停止influxdb服务&#xff1a;brew services stop influxdb 查看是否启…...

性能篇:网络通信优化之序列化

嗨,小米的朋友们!欢迎回到小米的技术分享空间。今天,我们将深入探讨网络通信中一个不可忽视的重要环节——序列化。废话不多说,让我们一起来揭开序列化的神秘面纱! 背景 序列化作为计算机领域中重要的概念,其存在背景根植于分布式系统和跨语言通信的需求。随着信息技术…...

【UE 游戏编程基础知识】

目录 0 引言1 基础知识1.1 拓展&#xff1a;3D数学和计算机图形学的关系 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE 游戏编程基础知识】❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事…...

原语,原子,线程安全

原子操作和原语是计算机科学中常见的概念&#xff0c;通常用于多线程或多进程环境中&#xff0c;以确保数据的一致性和同步。 原子操作&#xff08;Atomic Operations&#xff09; 原子操作是不可再分的操作&#xff0c;在执行完毕之前不会被线程调度系统中断的操作。从外部看…...

从权重计分到算杀引擎:五子棋AI核心算法实战解析

1. 五子棋AI的算法演进&#xff1a;从基础评分到算杀引擎 五子棋作为一款经典策略游戏&#xff0c;其AI算法的核心在于如何评估棋盘局势并做出最优决策。早期AI主要依赖简单的评分机制&#xff0c;比如给不同的棋形&#xff08;活二、活三、冲四等&#xff09;赋予固定分值&…...

SMUDebugTool:深度掌控AMD Ryzen系统的硬件调试利器

SMUDebugTool&#xff1a;深度掌控AMD Ryzen系统的硬件调试利器 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…...

NitroShare高效使用指南:从安装到定制的全流程解析

NitroShare高效使用指南&#xff1a;从安装到定制的全流程解析 【免费下载链接】nitroshare-desktop Network file transfer application for Windows, OS X, & Linux 项目地址: https://gitcode.com/gh_mirrors/ni/nitroshare-desktop NitroShare是一款跨Windows、…...

如何用免费AI助手提升3倍编码效率?DeepSeek-Coder-V2全解析

如何用免费AI助手提升3倍编码效率&#xff1f;DeepSeek-Coder-V2全解析 【免费下载链接】DeepSeek-Coder-V2 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 在AI编程工具层出不穷的今天&#xff0c;开发者面临着一个关键选择&#xff1a;是为商…...

线程与进程的区别与联系:操作系统入门详解(含 Python 示例)

、先搞懂&#xff1a;进程与线程到底是什么&#xff1f;&#xff08;通俗类比官方定义&#xff09; 1.1 生活化类比&#xff1a;快速建立认知 如果把计算机的操作系统比作一个大型工厂&#xff1a; 进程&#xff1a;就是工厂里的一个个独立车间。每个车间有自己专属的生产资…...

5分钟搞定高精度人脸检测:MogFace工具零基础部署与使用教程

5分钟搞定高精度人脸检测&#xff1a;MogFace工具零基础部署与使用教程 1. 前言&#xff1a;为什么选择MogFace&#xff1f; 人脸检测技术已经广泛应用于我们的日常生活中&#xff0c;从手机相册的人脸分类到社交媒体的美颜滤镜&#xff0c;都离不开这项基础技术。然而在实际…...

Balena Etcher:三步完成系统镜像烧录,告别复杂命令的困扰

Balena Etcher&#xff1a;三步完成系统镜像烧录&#xff0c;告别复杂命令的困扰 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾经因为需要制作系统启动…...

从零到一:基于NOAA HYSPLIT的后向轨迹实战绘制与污染溯源分析

1. 认识HYSPLIT与后向轨迹分析 第一次接触HYSPLIT模型时&#xff0c;我也被这个复杂的缩写搞得一头雾水。简单来说&#xff0c;这是美国国家海洋和大气管理局&#xff08;NOAA&#xff09;开发的一款专业大气轨迹分析工具&#xff0c;全称是Hybrid Single Particle Lagrangian …...

告别Windows AI困扰:RemoveWindowsAI工具全方位解决方案

告别Windows AI困扰&#xff1a;RemoveWindowsAI工具全方位解决方案 【免费下载链接】RemoveWindowsAI Force Remove Copilot and Recall in Windows 项目地址: https://gitcode.com/GitHub_Trending/re/RemoveWindowsAI 在数字时代的隐私保卫战中&#xff0c;Windows系…...

KEITHLEY 6221+2182A组合在霍尔测量中的5个实战技巧(避坑指南)

KEITHLEY 62212182A组合在霍尔测量中的5个实战技巧&#xff08;避坑指南&#xff09; 霍尔测量作为材料科学研究中的关键手段&#xff0c;对仪器精度和操作细节的要求近乎苛刻。KEITHLEY 6221电流源与2182A纳伏表的组合&#xff0c;凭借其出色的低噪声性能和微电流处理能力&…...