如何加密未加密的Microsoft.Data.Sqlite数据库

时间:2018-08-25 09:25:20

标签: wpf sqlite encryption entity-framework-core sqlcipher

我在WPF应用程序中使用Microsoft.Data.Sqlite,EntityFrameworkCore和SQLCipher。数据库迁移,加密和更改加密数据库的密码都可以正常工作。但是我找不到加密未加密数据库的方法,我必须在迁移时加密数据库,但是我需要从未加密数据库转到加密数据库。以下是我的数据库加密代码和更改加密数据库的密码。

        var connection = new SqliteConnection($"{"Data Source="}{ DatabasePath }");
        connection.Open();


        var command = connection.CreateCommand();
        command.CommandText = "SELECT quote($password);";
        command.Parameters.AddWithValue("$password", “RegistrationKey”);
        var quotedPassword = (string)command.ExecuteScalar();

        command.CommandText = "PRAGMA key = " + quotedPassword;
        command.Parameters.Clear();
        command.ExecuteNonQuery();


       command.CommandText = "PRAGMA rekey = " + “NEWRegistrationKey”;
       command.ExecuteNonQuery();  

0 个答案:

没有答案