# 数据库加密

URL: https://caijiao.org/sqlite/advanced/encryption
Source: docs/sqlite/advanced/encryption.md
Description: 本章节介绍 SQLite 数据库加密的基本概念和常用方法，帮助用户保护数据库中的敏感数据，确保数据安全。

[SQLite](/sqlite/) 本身不自带加密功能，但支持通过扩展或第三方库实现数据库加密，保护数据安全。

## 加密方式

- **SQLCipher**：最常用的开源 SQLite 加密扩展，支持强加密算法如 AES。
- **SQLite Encryption Extension (SEE)**：官方商业加密扩展。
- **应用层加密**：在应用程序中对敏感数据进行加密后存储。

## 使用 SQLCipher 示例

安装并使用 SQLCipher 后，可通过设置密钥加密数据库：

```sql
PRAGMA key = 'your_password';
```

连接数据库时必须提供密钥，才能访问数据。

## 注意事项

- 加密会增加数据库操作开销。
- 密钥管理是安全的关键，避免泄露。
- 选择合适的加密方案，根据需求权衡性能与安全。

通过加密，SQLite 数据库可以应用于对安全要求较高的场景。
