Я зашифровал базу данных, используя «ATTACH DATABASE» и шестнадцатеричный ключ.Но при расшифровке с использованием того же шестнадцатеричного ключа я получаю сообщение об ошибке «файл зашифрован или не является базой данных».что-то не так при передаче pKey в sqlite3_key ().Я использую версию sqlcipher-2.2.0.Пожалуйста, смотрите код ниже:
sqlite3_exec(persistence_db, "ATTACH DATABASE \'./encrypted.db\' AS db2 KEY \"x\'02\'\";", NULL, NULL, &zErrMsg);
sqlite3_exec(persistence_db, "SELECT sqlcipher_export('db2');", NULL, NULL, &zErrMsg);
sqlite3_exec(persistence_db,"DETACH DATABASE db2;",NULL, NULL, NULL)
//above 3 APIs returns SQLITE_OK
// но я получил ошибку при расшифровке того же encrypted.db
sqlite3_key(persistence_db, "x'02'", 2);
sqlite3_exec(persistence_db, "SELECT count(*) FROM sqlite_master;", NULL, NULL, &zErrMsg);
// это возвращает с ошибкой: файл зашифрован или нетбаза данных