.NET+Sqlite支持加密的操作方法 |
本文标签:.NET?Sqlite加密 Sqlite
虽然是免费的,无需许可证,可用于任何目的,但如果你的公司必须要一个许可证,你也能申请授权https://sqlite.org/purchase/license. 但不支持加密 。如果想支持登录加密,需要另外的扩展SQLite 加密扩展(SQLite Encryption Extension,),具有读取/写入 AES 加密数据库的附加功能 。具体授权可参考 https://www.sqlite.org/prosupport.html Sqlite加密一直以来, Could not load file or assembly 'System.Data.SQLite.SEE.License, Version=1.0.115.5, Culture=neutral, PublicKeyToken=433d9874d0bb98c5, processorArchitecture=MSIL 如果底层依赖于
System.Data.SQLite.Core创建一个控制台项目,起名 dotnet new console -n OvOv.SqliteSystemCore cd OvOv.SqliteSystemCore 安装包 dotnet add package System.Data.SQLite.Core 使用 using System.Data.SQLite; static void Open() { string baseConnectionString = "Data Source=local.db"; var connectionString = new SQLiteConnectionStringBuilder(baseConnectionString) { Password = "123qwe" }.ToString(); using SQLiteConnection? connection = new SQLiteConnection(connectionString); connection.Open(); } Open(); 运行项目
就会出现如下错误 。
Microsoft.Data.Sqlite创建一个控制台项目,起名 dotnet new console -n OvOv.SqliteMicrosoft cd OvOv.SqliteMicrosoft 安装包 dotnet add package Microsoft.Data.Sqlite 使用 using Microsoft.Data.Sqlite; static void Open() { string baseConnectionString = "Data Source=local.db"; var connectionString = new SqliteConnectionStringBuilder(baseConnectionString) { Mode = SqliteOpenMode.ReadWriteCreate, Password = "123qwe" }.ToString(); using SqliteConnection? connection = new SqliteConnection(connectionString); connection.Open(); } Open(); 运行项目
就会出现如下错误 。
其实微软已经提供了加密的方案 。 https://docs.microsoft.com/zh-cn/dotnet/standard/data/sqlite/encryption?tabs=netcore-cli dotnet remove package Microsoft.Data.Sqlite dotnet add package Microsoft.Data.Sqlite.Core dotnet add package SQLitePCLRaw.bundle_e_sqlcipher 重新运行项目 ,就会发现,他正常执行 。没有任何报错 。 有关使用不同的本机库进行加密的详细信息,请参阅自定义 SQLite 版本 。 我们从 自定义 SQLite 版本上可以看到 。 默认情况下,主
提供 SQLCipher 的非官方开放源代码内部版本 。此版本支持加密 。 完整代码https://github.com/luoyunchong/dotnetcore-examples/blob/master/Database-Drivers/OvOv.SqliteMicrosoftCore/Program.cs 到此这篇关于.NET+Sqlite如何支持加密的文章就介绍到这了,更多相关.NET?Sqlite加密内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! |