在Python中使用SQLCipher-简单的方法

在Python中使用SQLCipher-简单的方法,python,sqlite,encryption,sqlcipher,pysqlcipher,Python,Sqlite,Encryption,Sqlcipher,Pysqlcipher,我正在编写一个Python实用程序,它应该可以在加密的SQLite数据库上工作。最终,我将把这样的实用程序转换为可执行文件,这样就更容易将它发送给我的团队的其他成员。 我读了很多关于SQLCipher的页面,但他们都在谈论编译东西和在Windows中安装-真的,我很难完全理解这一点,似乎他们采取了一些理所当然的步骤,我迷路了 我在哪里可以找到详细的分步指南,它允许我在加密的SQLite数据库上使用Python代码,并且没有系统依赖项,然后这些代码可以编译成exe(使用pyinstaller)?即

我正在编写一个Python实用程序,它应该可以在加密的SQLite数据库上工作。最终,我将把这样的实用程序转换为可执行文件,这样就更容易将它发送给我的团队的其他成员。 我读了很多关于SQLCipher的页面,但他们都在谈论编译东西和在Windows中安装-真的,我很难完全理解这一点,似乎他们采取了一些理所当然的步骤,我迷路了

我在哪里可以找到详细的分步指南,它允许我在加密的SQLite数据库上使用Python代码,并且没有系统依赖项,然后这些代码可以编译成exe(使用pyinstaller)?即使有一个exe和一个dll也可以

谢谢你的帮助


PS:我认为exe+dll是一个可行的选项,因为SQLite()的DB Browser附带了这个dll。也许它是可重复使用的?

我能够将ssleay32.dll、libeay32.dll和sqlcipher.dll复制到Python38\DLLs文件夹中。然后我将sqlite3.dll重命名为sqlite3.dll.old。sqlcipher.dll需要重命名为sqlite3.dll。然后像调用sqlite一样调用它

对于Linux

sudo apt update
sudo apt upgrade
sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools
sudo apt-get install libsqlcipher-dev
sudo apt install build-essential git cmake libsqlite3-dev
sudo apt install sqlcipher
git clone https://github.com/rigglemania/pysqlcipher3
cd pysqlcipher3
python3 setup.py build
sudo python3 setup.py install

if installing in virtual environment also do
pip install pysqlcipher3 in the environment

if sys.platform.lower() == 'linux':
  try:
     from pysqlcipher3 import dbapi2 as sqlite3
  except:
     import sqlite3

我能够将ssleay32.dll、libeay32.dll和sqlcipher.dll复制到Python38\DLLs文件夹中。然后我将sqlite3.dll重命名为sqlite3.dll.old。sqlcipher.dll需要重命名为sqlite3.dll。然后像调用sqlite一样调用它

对于Linux

sudo apt update
sudo apt upgrade
sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools
sudo apt-get install libsqlcipher-dev
sudo apt install build-essential git cmake libsqlite3-dev
sudo apt install sqlcipher
git clone https://github.com/rigglemania/pysqlcipher3
cd pysqlcipher3
python3 setup.py build
sudo python3 setup.py install

if installing in virtual environment also do
pip install pysqlcipher3 in the environment

if sys.platform.lower() == 'linux':
  try:
     from pysqlcipher3 import dbapi2 as sqlite3
  except:
     import sqlite3