Защита базы данных (SQlite)

Fedor5588

Client
Регистрация
04.06.2017
Сообщения
273
Благодарностей
69
Баллы
28
Ребята подскажите как можно защитить файл базы данных от просмотра. Шифрование может какое, подскажите кто реализовывал данную функцию, куда копать.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 694
Баллы
113
вот еще ссылка

ставим пароль на базу
C#:
var connectString = @"Data Source=c:\test_DB_pass.db;Version=3;";
var conn =  new System.Data.SQLite.SQLiteConnection(connectString);
conn.Open();
conn.ChangePassword("password");
conn.Close();
в SQLiteStudio теперь ее можно открыть только так
79515


считываем данные из шифрованной базы.

C#:
var connectString = @"Data Source=c:\test_DB_pass.db;Version=3;Password=password;";
var sqlString = "SELECT * FROM test;";
DataTable datatabl = new DataTable();

using (var cmd = new System.Data.SQLite.SQLiteCommand())
{
    try
    {
        cmd.Connection = new System.Data.SQLite.SQLiteConnection(connectString);
    }
    catch (Exception e)
    {
        throw new Exception("SQLite: не удалось подключиться");
    }
        project.SendInfoToLog("подключились");
    try
    {
        //Открываем соединение с базой данных
        cmd.Connection.Open();
        project.SendInfoToLog("соединение открыто");
        cmd.CommandText = sqlString;
        System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();
        project.SendInfoToLog("запрос выполнен");

        datatabl.Load(reader);
        project.SendInfoToLog("данные считаны");
        reader.Close();
        cmd.Connection.Close();
    }finally
    {
        cmd.Connection.Close();
    }
}

return datatabl.Rows.Count;
 
  • Спасибо
Реакции: Sanekk

Fedor5588

Client
Регистрация
04.06.2017
Сообщения
273
Благодарностей
69
Баллы
28
вот еще ссылка

ставим пароль на базу
C#:
var connectString = @"Data Source=c:\test_DB_pass.db;Version=3;";
var conn =  new System.Data.SQLite.SQLiteConnection(connectString);
conn.Open();
conn.ChangePassword("password");
conn.Close();
в SQLiteStudio теперь ее можно открыть только так
Посмотреть вложение 79515

считываем данные из шифрованной базы.

C#:
var connectString = @"Data Source=c:\test_DB_pass.db;Version=3;Password=password;";
var sqlString = "SELECT * FROM test;";
DataTable datatabl = new DataTable();

using (var cmd = new System.Data.SQLite.SQLiteCommand())
{
    try
    {
        cmd.Connection = new System.Data.SQLite.SQLiteConnection(connectString);
    }
    catch (Exception e)
    {
        throw new Exception("SQLite: не удалось подключиться");
    }
        project.SendInfoToLog("подключились");
    try
    {
        //Открываем соединение с базой данных
        cmd.Connection.Open();
        project.SendInfoToLog("соединение открыто");
        cmd.CommandText = sqlString;
        System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();
        project.SendInfoToLog("запрос выполнен");

        datatabl.Load(reader);
        project.SendInfoToLog("данные считаны");
        reader.Close();
        cmd.Connection.Close();
    }finally
    {
        cmd.Connection.Close();
    }
}

return datatabl.Rows.Count;
Спасибо большое!

Почему может вываливаться ошибка при использовании кода:
Выполнение действия CSharp OwnCode. Не удается найти точку входа "sqlite3_rekey" в DLL "SQLite.Interop.dll".
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 694
Баллы
113
Спасибо большое!

Почему может вываливаться ошибка при использовании кода:
Выполнение действия CSharp OwnCode. Не удается найти точку входа "sqlite3_rekey" в DLL "SQLite.Interop.dll".
возможно в этом дело...

79517
 
  • Спасибо
Реакции: Fedor5588

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)