Navicat 为 SQLite 数据库设置密码指南
Navicat 为 SQLite 数据库设置密码指南
在 SQLite 中设置密码实际上是通过加密实现的,Navicat 使用 SQLCipher 扩展来提供数据库加密功能。以下是详细的操作方法和注意事项:
在 Navicat 中设置密码(加密数据库)
步骤 1:启用加密
在 Navicat 中打开 SQLite 连接
右键单击数据库 → 选择 “编辑连接”
转到 “高级” 选项卡
在 “加密” 部分:
加密类型:选择 SQLCipher
输入密码:设置强密码(至少12个字符,含大小写字母、数字和符号)
确认密码:再次输入相同密码
步骤 2:应用加密
点击 “确定” 保存设置
Navicat 会提示:“此操作将加密数据库文件”
点击 “确定” 开始加密过程
等待加密完成(时间取决于数据库大小)
使用加密数据库的注意事项
- 密码管理
每次连接加密数据库都需要输入密码
考虑使用 Navicat 的 “密码管理器” 存储密码
重要: 忘记密码 = 永久丢失数据(无恢复方法)
- 跨平台兼容性
加密数据库只能在支持 SQLCipher 的工具中使用:
✅ Navicat 所有版本
✅ DB Browser for SQLite (SQLCipher 版本)
✅ 使用 SQLCipher 库的应用程序
❌ 标准 SQLite 工具无法打开
- 加密强度选项
在 “编辑连接” → “高级” 中可调整:
密钥派生迭代次数(推荐 ≥ 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 数据库添加密码保护,确保敏感数据的安全。