Sqlcipher_page_cipher aftre sqlite3_key () ... с includet sqlite3 sqlcipherC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Sqlcipher_page_cipher aftre sqlite3_key () ... с includet sqlite3 sqlcipher

Сообщение Anonymous »

Я интегрировал SQLite в свой проект с помощью библиотеки справки #include ... открыть и подключить работу правильно ... следующий пример моего кода:

Код: Выделить всё

#include 

int callback(void *notUsed, int colCount, char **columns, char **colNames) {
///........
}

int main {
sqlite3 *db;
int res = sqlite3_open("test.db", &db);
if (res != SQLITE_OK) {
printf("Cannot open database\n");
exit(1);
}
sqlite3_exec(db, "SELECT * FROM test_tables;", callback, NULL, NULL);
if (db != NULL) {
sqlite3_close(db);
}
return 0;
}
< /code>
После шифрования базы данных (см. Скриншот, ключ тип = 'passphrase' size = '1024') Я подключил SQLCIPHER к проекту -LSQLCIPHER -LSQLITE3 -LSSL -LCRYPTO -LCRYPT32 -LWSOCK32 -LWS2_32 < />. alt="enter image description here" src="https://i.sstatic.net/Eru5PoZP.png" />
Set SQLITE_HAS_CODEC 1
and use sqlite_key() after sqlite_open()... example my code:

Код: Выделить всё

#include 
#define SQLITE_HAS_CODEC 1

int callback(void *notUsed, int colCount, char **columns, char **colNames) {
///........
}

int main {
sqlite3 *db;
int res = sqlite3_open("test.db", &db);
res = sqlite3_key(db, "abc", 3); // i trying to write 3 and 4...
if (res != SQLITE_OK) {
printf("Cannot open database\n");
exit(1);
}
sqlite3_exec(db, "SELECT * FROM test_tables;", callback, NULL, NULL);
if (db != NULL) {
sqlite3_close(db);
}
return 0;
}
Я пытаюсь использовать pragma key = '%password%' и pragma page_size =%размер страницы% Но я всегда получаю следующую ошибку:
2025-06-29 22:53:57.796: sqlcipher_page_cipher: hmac check failed for pgno=1
2025-06-29 22:53:57.797: sqlite3Codec: error decrypting page 1 data: 1
2025-06-29 22:53:57.797: sqlcipher_codec_ctx_set_error 1
< /code>
Всегда! Независимо от того, что я пишу, ничего не меняется. Кто -нибудь столкнулся с этим? Кто -нибудь знает, что происходит? Слава все заранее
Я пытался подключиться к зашифрованной базе данных и ожидается успешной.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -sqlcipher
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»