C# SQLCipher-以编程方式解密数据库

C# SQLCipher-以编程方式解密数据库,c#,sqlite,.net-core,sqlite-cipher,C#,Sqlite,.net Core,Sqlite Cipher,我正在使用一个.NET核心项目来管理SQLite db encrypted,我将能够在不加密的情况下以编程方式创建db副本,但我没有找到任何示例代码,我甚至不知道这是否可行 我从零开始做以下项目: 这是最终的解决方案: void DecryptDB(string sourceFilename, string destinationFilename, string password) { var connectionString = new SqliteCo

我正在使用一个.NET核心项目来管理SQLite db encrypted,我将能够在不加密的情况下以编程方式创建db副本,但我没有找到任何示例代码,我甚至不知道这是否可行

我从零开始做以下项目:
这是最终的解决方案:

void DecryptDB(string sourceFilename, string destinationFilename, string password)
        {
            var connectionString = new SqliteConnectionStringBuilder
            {
                DataSource = sourceFilename,
                Mode = SqliteOpenMode.ReadWriteCreate,
                Password = password 
            };

            using var cn = new SqliteConnection(connectionString.ToString());
            cn.Open();

            using var c = cn.CreateCommand();
            c.CommandText = @$"ATTACH DATABASE '{destinationFilename}' AS plaintext KEY '';";
            var r = c.ExecuteNonQuery();

            c.CommandText = @"SELECT sqlcipher_export('plaintext')";
            r = c.ExecuteNonQuery();
        }

使用任何方案处理任何数据库,或者仅针对特定方案处理任何数据库,需要是通用的吗?仅针对my DB(特定方案)。更简单的方法是将所有表加载到内存中,然后将它们未加密地写入新的数据库。有示例吗?我正在寻找sqlcipher_export()函数,该函数应该可以实现我的目的,但我无法找到使用ado.net等的一些示例。这将是离题的,对吗?