Шифроване на SQLite база данни с SQLCipher

SQLite е лека, вградена релационна база данни. SQLite по подразбиране съхранява данни във файл в некриптирана форма и днес ще поправим тази ситуация. Разширението SQLite, наречено SQLCipher, ще ни помогне с това.SQLCipher е междуплатформено SQLite разширение. Тойшифрова страниците на нашатабаза данни преди да ги напише, и ги дешифрира при четене.
Цел: Изградете SQLite библиотека с AES-256 криптиране от източници на SQLCipher под Windows.
1)Първо, имаме нужда от крос компилатор, базиран на -MinGW + MSYS.
Изтеглете и инсталирайте в папката D:\MinGW\. Когато инсталирате, трябва да поставите отметка в квадратчето „MiniGW Developer Toolkit“.
2)Библиотека за шифроване отOpenSSL. Чрез търсене в Google веднага намерих инсталатор, наречен Win32OpenSSL-0_9_8m.exe. Когато инсталираме, посочваме, че искаме да инсталираме библиотеките в същата папка, в подпапката /bin. Инсталирайте в папката D:\OpenSSL\ .
3)Изтеглете библиотеката с инструментиTcl/Tk. Намерих версия 8.4.1-1 (компилация за MinGW). Файлът се нарича tcltk-8.4.1-1.exe. Когато инсталирате, посочете пътя до MiniGW, в нашия случай D:\MinGW\ .
4)Намерете файла D:\MinGW\bin\tclsh84.exe и го преименувайте наtclsh.exe.
5)ИзтеглетеSQLCipherот официалния сайт sqlcipher.net. От тях намерих последната бета версия 1.1.8-19. След като изтеглите архива, го разархивирайте в папка D:\SqlCipher\ .
7)Изпълнете следните команди в MSYS:
а)отидете в папката SqlCipher
b)настройте библиотеката
d)създайте нашия dll
Сега, когато създаваме проект, имаме нужда от две dll библиотеки.
sqlite3.dll- намира се в папкатаD:\SqlCipher\sqlite3.dll
libeay32.dll- намира се в D:\OpenSSL\libeay32.dll
Сега, когато създавате проект, например в Delphi, тези два файла ще трябва да бъдат копирани в папката на проекта. Ще разгледаме как да използвате тези библиотеки в следващата статия.
Можете да изтеглите получената библиотека от връзката по-долу.