C# 在microsoft.data.sqlite中使用字节密码
我有一个测试控制台项目(.Net Core 3.1),使用Microsoft.Data.Sqlite.Core(3.1.0)和SQLitePCLRaw.bundle\u e\u sqlcipher(2.0.2)包。当我运行下面的代码时,在执行“Pragma Key=”命令时会引发“Syntax Error”异常 我的理解是SQLitePCLRaw.bundle_e_sqlcipher包是sqlcipher的一个构建,因此支持字节数组密码(sqlcipher的文档说支持这种格式)。你知道我做错了什么吗C# 在microsoft.data.sqlite中使用字节密码,c#,sqlite,.net-core,passwords,sqlcipher,C#,Sqlite,.net Core,Passwords,Sqlcipher,我有一个测试控制台项目(.Net Core 3.1),使用Microsoft.Data.Sqlite.Core(3.1.0)和SQLitePCLRaw.bundle\u e\u sqlcipher(2.0.2)包。当我运行下面的代码时,在执行“Pragma Key=”命令时会引发“Syntax Error”异常 我的理解是SQLitePCLRaw.bundle_e_sqlcipher包是sqlcipher的一个构建,因此支持字节数组密码(sqlcipher的文档说支持这种格式)。你知道我做错了什
if (File.Exists(@"c:\temp\enctest.db")) File.Delete(@"c:\temp\enctest.db");
string connectionString = new SqliteConnectionStringBuilder(@"Data Source=c:\temp\enctest.db").ToString();
using SqliteConnection conn = new SqliteConnection(connectionString);
conn.Open();
using SqliteCommand comm = conn.CreateCommand();
comm.CommandText = "PRAGMA key = x'2DD29CA851E7B56E4697B0E1F08507293D761A05CE4D1B628663F411A8086D99'";
comm.ExecuteNonQuery();
comm.CommandText = "CREATE TABLE Test(TestId INTEGER PRIMARY KEY AUTOINCREMENT, TestField TEXT NOT NULL COLLATE NOCASE);";
comm.ExecuteNonQuery();
根据本页:您需要在
“x'2DD…”周围加上双引号。
不确定如何将其标记为答案,但谢谢:)这是有效的。根据本页:您需要在“x'2DD…”周围加上双引号。
不确定如何将其标记为答案,但谢谢:)这是有效的。