python使用sqlcipher4对sqlite数据库加密
python对很多项目都需要对sqlite数据库的数据进行加密,最流行的加密方式是使用sqlcipher4,当前使用的python版本为3.10(其它python版本应该也可以,未对所有版本测试过),本博文是直接使用sqlcipher4(也支持sqlcipher3)在项目上的应用,在后面有下载地址,下载后,可以直接使用
一、相关代码
self.user = User()self.user.id = tkinter.StringVar()self.user.username = tkinter.StringVar()self.user.email = tkinter.StringVar()self.user.age = tkinter.IntVar()self.msg = tkinter.StringVar()self.userName_find = tkinter.StringVar()self.userName_find.set('请输入用户名称')tkinter.Label(self.page, text='用户名称:', font=('Terminal', 12)).grid(row=1, column=1)tkinter.Entry(self.page, textvariable=self.user.username, width=20).grid(row=1, column=2, columnspan=2)tkinter.Label(self.page, text='邮箱:', font=('Terminal', 12)).grid(row=2, column=1, pady=5)tkinter.Entry(self.page, textvariable=self.user.email, width=20).grid(row=2, column=2, columnspan=2)tkinter.Label(self.page, text='年龄:', font=('Terminal', 12)).grid(row=3, column=1, pady=5)tkinter.Entry(self.page, textvariable=self.user.age, width=20).grid(row=3, column=2, columnspan=2)tkinter.Button(self.page, text='保存', font=('Terminal', 12), command=self.save).grid(row=4, column=2,)tkinter.Entry(self.page, textvariable=self.userName_find, width=20).grid(row=5, column=1, columnspan=4,pady=30)tkinter.Button(self.page, text='查询', font=('Terminal', 12), command=self.get_User).grid(row=5, column=4,columnspan=1)tkinter.Label(self.page, textvariable=self.msg, font=('Terminal', 12)).grid(row=6, column=1)self.root.mainloop()# 查询基础配置def get_User(self):user = UserService.select_user_by_username(self.userName_find.get())if user:string = f"✓ 查询用户 'bob': ID: {user[0]}, 用户名: {user[1]}, 邮箱: {user[2]}, 年龄: {user[3]}"messagebox.showinfo('提示信息', string)def save(self):username = self.user.username.get()email = self.user.email.get()age = self.user.age.get()users_data = [(username, email, age),]UserService.insert_users(users_data)messagebox.showinfo('提示信息','保存成功')
二、使用截图
三、源码下载
因工具软件太大,放在了云盘
链接:https://pan.baidu.com/s/1wZ_8BEf_1jrQu9ghN9wk9Q?pwd=15fb 提取码:15fb