sqlite3数据库本身不支持暗码设置,但数据库就这么暴露着,随意就能被他人连接查看,肯定是不可行的。
pysqlcipher3是一种Python库,可以通过利用OpenSSL库对SQLite数据库进行加密息争密。它提供了在Python中连接到加密的SQLite数据库的功能,可以执行查询和事故等操纵。
直接在windows上 pip install pysqlcipher3 的方式会报错,因此需要按照以下步骤进行:
1. 安装Tcl
Download & Install Tcl | ActiveState
2. 安装 OpenSSL x64
Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions(我用的是
Win64OpenSSL-1_1_1w)
- 在路径C:\Program Files\OpenSSL-Win64\lib下, 找到并复制、粘贴以下左边四个文件, 然后改为右边的名称
libcrypto.def —> libeay32.def
libcrypto.lib —> libeay32.lib
libssl.def —> libssl.def
libssl.lib —> libssl.lib
- 将文件夹 C:\Program Files\OpenSSL-Win64\include\openssl 拷贝到 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include下
注意设置情况变量: OPENSSL_CONF C:\Program Files\OpenSSL-Win64\bin\openssl.cfg
3. 安装vs2022
安装时只选择 C++的桌面开辟 的组件就可以
4. 下载sqlcipher :
GitHub - sqlcipher/sqlcipher: SQLCipher is a standalone fork of SQLite that adds 256 bit AES encryption of database files and other security features.解压后修改 Makefile.msc 文件:
1. TCC = $(TCC) -DSQLITE_TEMP_STORE=1
修改为:
TCC = $(TCC) -DSQLITE_TEMP_STORE=2 -DSQLITE_HAS_CODEC -I"C:\Program Files\OpenSSL-Win64\include"
2. 在以下位置 新增下面两行赤色设置
# If ICU support is enabled, add the linker options for it.
#
!IF $(USE_ICU)!=0
LTLIBPATHS = $(LTLIBPATHS) /LIBPATH (ICULIBDIR)
LTLIBS = $(LTLIBS) $(LIBICU)
!ENDIF
# >
LTLIBPATHS = $(LTLIBPATHS) /LIBPATH:"C:\Program Files\OpenSSL-Win64\lib\VC\static"
LTLIBS = $(LTLIBS) libcrypto64MT.lib libssl64MT.lib ws2_32.lib shell32.lib advapi32.lib gdi32.lib user32.lib crypt32.lib
# You should not have to change anything below this line
打开 x64 Native Tools Command Prompt for VS 2022 ,目次切换到 sqlcipher,执行以下指令:
nmake /f Makefile.msc clean
nmake /f Makefile.msc
编译后会生成 sqlite3.c 和 sqlite3.h文件(注意:编译报错不要紧,只要生成了这两个文件)
5. 下载pysqlcipher3
GitHub - rigglemania/pysqlcipher3: Python 3 bindings for SQLCipher
在其根目次创建文件夹amalgamation,并将上一步生成的sqlite3.c 和 sqlite3.h两个文件拷贝进来。
下载SQLite Download Page , Source Code中会包罗sqlite3.h, sqlite3.c等4个文件, 在pysqlcipher3\src\python3中创建文件夹sqlcipher, 将4个文件放入此中
6. 安装pysqlcipher3
打开x64 Native Tools Command Prompt for VS 2022,目次切换到 pysqlcipher3
1. 执行 python setup.py clean
2. 执行 python setup.py build_amalgamation
3. 执行 python setup.py install
假如有雷同错误,将..\pysqlcipher3\src\python3文件夹下全部.c文件内容中的 MODULE_NAME 替换成 "pysqlcipher3.dbapi2", 再重新执行下令
至此,就成功安装了pysqlcipher3
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |