使用python3的sqlalchemy+sqlcipher3对sqlite3数据加密,使用pysqlcipher3编译打建环境,并写项目测试
要使用Python3的SQLAlchemy结合SQLCipher3对SQLite3数据库进行加密,你需要确保已经安装了pysqlcipher3。以下是安装pysqlcipher3和使用SQLAlchemy进行加密操作的步骤:
- 安装pysqlcipher3:
pip install pysqlcipher3
- 使用SQLAlchemy加密操作示例代码:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
# 使用pysqlcipher3提供的数据库加密引擎
engine = create_engine('sqlite:///example.db?cipher=secret-key')
Session = sessionmaker(bind=engine)
# 创建一个会话
session = Session()
# 定义模型
class User(object):
def __init__(self, name, email):
self.name = name
self.email = email
# 创建表
Base.metadata.create_all(engine)
# 添加记录
new_user = User('Alice', 'alice@example.com')
session.add(new_user)
# 提交事务
session.commit()
# 查询记录
users = session.query(User).all()
for user in users:
print(user.name, user.email)
# 关闭会话
session.close()
在上述代码中,请将example.db
替换为你的数据库文件名,secret-key
替换为你的加密密钥。
请注意,SQLCipher3和pysqlcipher3需要你的系统具备相应的SQLCipher库。如果你在Windows上编译pysqlcipher3,可能需要下载预编译的SQLCipher二进制文件或者自行编译SQLCipher。如果你在Linux或者Mac上,通常可以通过包管理器安装SQLCipher。
评论已关闭