Russian Qt Forum

Qt => Базы данных => Тема начата: Nimbus от Август 27, 2010, 07:04



Название: SQLite пароль базы данных
Отправлено: Nimbus от Август 27, 2010, 07:04
Доброго времени суток.
Как я понял, базу SQLite можно паролить тоже. Причём это не совсем пароль базы, а полное шифрование самого файла БД (и это очень даже хорошо), которое можно задать в SQLite Developer'е путём выбора команды контекстного меню Set Encryption Key и открыть его уже надо через команду меню Open Encrypted Database. Вот тут и возникает вопрос - как открывать зашифрованную базу средствами класса QSqlDatabase? Метод setPassword не помогает. А базу нужно шифровать. Какими средствами это реализовать?
Crypto++ не предлагайте.


Название: Re: SQLite пароль базы данных
Отправлено: Пантер от Август 27, 2010, 08:47
На сколько я знаю, шифрование SQLite не поддерживает, есть только платные приблуды. Исходя из этого, средствами Qt нельзя открыть шифрованную базу.

ПыСы: можешь поискать по форуму, вопрос шифрования SQLite поднимался один раз.


Название: Re: SQLite пароль базы данных
Отправлено: Nimbus от Август 27, 2010, 09:04
Хех. Я так и думал.
З. Ы. Нагуглил уже опенсорсную библиотеку SQLCipher. Осталось её собрать...


Название: Re: SQLite пароль базы данных
Отправлено: AlekseyK от Ноябрь 09, 2010, 13:51
К Qt можно легко прикрутить плугин SQLCipher-a:

http://www.wiki.crossplatform.ru/index.php/%D0%9F%D1%80%D0%B8%D0%B2%D1%8F%D0%B7%D0%BA%D0%B0_SQLCipher_%D0%BA_Qt
http://www.qtcentre.org/wiki/index.php?title=Building_QSQLITE_driver_with_AES-256_encryption_support_%28Windows/MinGW%29