Navicat 为 SQLite 数据库设置密码指南

Navicat 为 SQLite 数据库设置密码指南

在 SQLite 中设置密码实际上是通过加密实现的,Navicat 使用 SQLCipher 扩展来提供数据库加密功能。以下是详细的操作方法和注意事项:

在 Navicat 中设置密码(加密数据库)

步骤 1:启用加密

在 Navicat 中打开 SQLite 连接

右键单击数据库 → 选择 "编辑连接"

转到 "高级" 选项卡

在 "加密" 部分:

加密类型:选择 SQLCipher

输入密码:设置强密码(至少12个字符,含大小写字母、数字和符号)

确认密码:再次输入相同密码

步骤 2:应用加密

点击 "确定" 保存设置

Navicat 会提示:"此操作将加密数据库文件"

点击 "确定" 开始加密过程

等待加密完成(时间取决于数据库大小)

使用加密数据库的注意事项

  1. 密码管理
    每次连接加密数据库都需要输入密码

考虑使用 Navicat 的 "密码管理器" 存储密码

重要: 忘记密码 = 永久丢失数据(无恢复方法)

  1. 跨平台兼容性
    加密数据库只能在支持 SQLCipher 的工具中使用:

✅ Navicat 所有版本

✅ DB Browser for SQLite (SQLCipher 版本)

✅ 使用 SQLCipher 库的应用程序

❌ 标准 SQLite 工具无法打开

  1. 加密强度选项
    在 "编辑连接" → "高级" 中可调整:

密钥派生迭代次数(推荐 ≥ 64000)

加密算法(默认 AES-256,最安全)

页面大小(通常保持默认)

在其他工具中使用加密数据库

方法 1:使用 DB Browser (SQLCipher 版)

下载支持 SQLCipher 的 DB Browser

打开数据库时选择 "SQLCipher" 加密类型

输入密码访问数据库

方法 2:使用 SQLCipher 命令行

bash

安装 SQLCipher

sudo apt install sqlcipher # Ubuntu/Debian

brew install sqlcipher # macOS

打开加密数据库

sqlcipher encrypted.db

输入密码

PRAGMA key = 'your_strong_password';

验证是否成功

.schema

方法 3:在 Python 中使用

python

from pysqlcipher3 import dbapi2 as sqlite

conn = sqlite.connect('encrypted.db')

cursor = conn.cursor()

设置密码

cursor.execute("PRAGMA key='your_strong_password'")

执行查询

cursor.execute("SELECT * FROM your_table")

print(cursor.fetchall())

移除密码(解密数据库)

在 Navicat 中打开加密数据库

右键数据库 → "编辑连接" → "高级"

加密类型改为 "无"

点击 "确定" 并输入当前密码

Navicat 会将数据库解密为标准 SQLite 格式

重要安全建议

备份优先:加密前务必备份原始数据库

密码强度:使用密码管理器生成和存储强密码

兼容性测试:在目标环境测试加密数据库能否打开

性能影响:加密会增加约5-15%的性能开销

版本一致性:确保所有环境使用相同 SQLCipher 版本

⚠️ 警告:数据库加密后,没有密码将无法恢复数据!请务必将密码存储在安全的地方。

通过以上步骤,您可以安全地为 SQLite 数据库添加密码保护,确保敏感数据的安全。