Как я могу зашифровать незашифрованную базу данных Microsoft.Data.Sqlite - PullRequest
0 голосов
/ 25 августа 2018

Я использую Microsoft.Data.Sqlite, EntityFrameworkCore и SQLCipher в своем приложении WPF.Перенос базы данных, шифрование и смена пароля зашифрованной базы данных работает нормально.Но я не смог найти способ шифрования незашифрованной базы данных, я должен зашифровать базу данных во время миграции, но мне нужно перейти от незашифрованной базы данных к зашифрованной базе данных.Ниже приведен мой код шифрования базы данных и изменение пароля зашифрованной базы данных.

        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();  
...