H. *_*ave 2 python sqlite zip db-browser-sqlite
我创建了一个SQLite3数据库,并通过应用程序使用密码(“测试”)对其进行保护DB browser for SQLite。\n为了通过 连接到我的数据库Python,我需要提供密码,但我不知道如何做到这一点。我尝试了以下代码:
conn=sqlite3.connect("mydatabase.db", Password="test")\ncur=conn.cursor()\nRun Code Online (Sandbox Code Playgroud)\n\n编辑:
\n\n我的SQLite3数据库已使用SQLCipher(参见图片)进行加密。\n
\n如果我运行以下代码:
conn=sqlite3.connect("mydatabase.db")\ncur=conn.cursor()\nRun Code Online (Sandbox Code Playgroud)\n\n我收到此错误:
\n\nsqlite3.DatabaseError: file is encrypted or is not a database\nRun Code Online (Sandbox Code Playgroud)\n\n我如何传递密码才能db通过 Python 连接?
编辑2
\n\n这是我试图实现的目标的简要总结。我正在开发一个Python 3需要预填充数据库的应用程序,但该数据库需要使用密码保护。\n经过广泛研究,SQLite3通过Python 3. 存在库调用pysqlcipher,但仅适用于 Python 2.7。我的下一个问题可能太宽泛,我提前道歉。是否存在另一个可移植数据库,允许我使用密码保护它并仍然可以访问 Python?\n为了解决我的问题,我想到的另一个想法是使用该zipfile库。此链接提到该zipfile模块不支持加密,但 \xe2\x80\x99s 不清楚加密是指数据库SQLite3还是 zip 文件。这个想法是将我的未受保护的压缩DB到受保护的 zip 文件中,因为我似乎可以做到这一点(链接)。\n此编辑的目标是获得有关如何解决我的问题的新想法。谢谢
如果您的数据库使用 SqlCipher 加密,则需要在 SO Windows 中安装 sqlcipher:下载
Linux:sudo pacman -S sqlcipher或
sudo apt-get install sqlcipher
Run Code Online (Sandbox Code Playgroud)
在需要 pysqlcipher3 库之后:pip install pysqlcipher3
请参阅: https: //github.com/rigglemania/pysqlcipher3
我的示例代码是:
from pysqlcipher3 import dbapi2 as sqlite3
class Database(object):
def __init__(self, dbname):
self.dbname = dbname
def connDB(self):
self.conn = sqlite3.connect(self.dbname)
self.cursor = self.conn.cursor()
self.cursor.execute("PRAGMA key='mypassword'")
def createDB(self):
self.connDB()
self.cursor.execute(
'''
CREATE TABLE IF NOT EXISTS users (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
login TEXT NOT NULL,
passwd TEXT);
'''
)
self.cursor.execute(
'''
INSERT INTO users (name, login, passwd)
VALUES ("Admininstrator", "admin", "12345")
'''
)
self.conn.commit()
self.conn.close()
def queryDB(self, sql):
self.connDB()
self.cursor.execute(sql)
if sql[0:6].lower() == 'select':
result = self.cursor.fetchall()
self.conn.close()
return result
else:
self.conn.commit()
self.conn.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20483 次 |
| 最近记录: |