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

.NET Sqlite加密

.NET Sqlite加密

  • Sqlite
    • 安装
    • 指定密钥
    • 运行项目
    • 输入命令shell
    • 重新运行项目 ,就会发现,他正常执行。没有任何报错。

Sqlite

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

安装

Remove-Package Microsoft.Data.Sqlite
Install-Package Microsoft.Data.Sqlite.Core
Install-Package SQLitePCLRaw.bundle_e_sqlcipher

指定密钥

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

var connectionString = new SqliteConnectionStringBuilder(baseConnectionString)
{
    Mode = SqliteOpenMode.ReadWriteCreate,
    Password = password
}.ToString();

运行项目

就会出现以下错误
在这里插入图片描述

输入命令shell

dotnet remove package Microsoft.Data.Sqlite
dotnet add package Microsoft.Data.Sqlite.Core
dotnet add package SQLitePCLRaw.bundle_e_sqlcipher

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


http://www.kler.cn/news/356377.html

相关文章:

  • Golang | Leetcode Golang题解之第475题供暖器
  • 飞控开发软件有哪些?技术详解
  • HCIP--1实验DNS,VLAN,静态路由,浮动静态,动态路由协议,Telnet
  • Scala大数据开发
  • Java—类和对象习题讲解
  • UNI VFX Missiles Explosions for Visual Effect Graph
  • SpringBoot Data JPA基本使用
  • 《CS:GO》的标志性实验地图在 RTX GPU 神经网络中运行
  • Linux_进程概念详解(续)_命令行参数_环境变量_进程地址空间
  • SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
  • MYSQL基础快速入门
  • 单片机探秘:从理论到应用
  • MYSQL-查看数据库中的存储过程语法(六)
  • 【Cadence27】HDL拷贝工程➕Allegro导出DXF和3D文件STP
  • Windows 与 Java 环境下的 Redis 利用分析
  • 生活中的感悟
  • 大数据linux操作系统
  • vim编辑器交换文件的产生与处理方法
  • 在 Python 语言中,元组(tuple)、字符串(str)、列表(list)和集合(set)是常见的数据结构,它们有以下区别:
  • Vscode的远程开发之VScode优势(一)