Фон
Я пытаюсь зашифровать свою базу данных sqlite с помощью sqlite3 и sqlcipher в приложении Electron.
На странице sqlite3 npm здесь
Там написано, чтобы установить сборку, как это,
пряжа добавить sqlite3@4.0.8 --build-from-source --sqlite_libname = sqlcipher
--sqlite = brew --prefix
--runtime = электрон --target = 4.0.0 --dist-url = https://atom.io/download/electron
Я установил sqlcipher с домашним пивом.
brew install sqlcipher
Пример задачи
Я пытаюсь создать зашифрованную базу данных, как это в моем приложении Electron,
const sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('./src/encryptedDB.sql');
db.serialize(function() {
db.run("PRAGMA KEY = 'secret'");
db.run("PRAGMA CIPHER = 'aes-256-cbc'");
db.run('CREATE TABLE IF NOT EXISTS clients (info TEXT)');
var stmt = db.prepare('INSERT INTO clients VALUES (?)');
for (var i = 0; i < 10; i++) {
stmt.run('wunO Background Client Number - ' + i);
}
stmt.finalize();
});
Это не создание зашифрованной базы данных. Я могу открыть файл и увидеть данные внутри него.
Вопрос
Я пытаюсь выяснить, является ли это простой проблемой с моим синтаксисом или, может быть, когда электронный строитель запускает свою магию в фоновом режиме, он перестраивает sqlite и удаляет сборку sqlcipher
.
Как мне создать зашифрованную сборку sqlite, которая будет работать на MacOS и Windows.