带有加密/密码保护的 SQLite

SQLite with encryption/password protection(带有加密/密码保护的 SQLite)
本文介绍了带有加密/密码保护的 SQLite的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚在学习使用 SQLite,我很好奇这是否可行:

I'm just learning to use SQLite and I was curious if such is possible:

  1. 数据库文件的加密?

  1. Encryption of the database file?

密码保护打开数据库?

附注.我知道有这个SQLite 加密扩展 (SEE)",但根据文档,SEE 是许可软件......"和SEE 的永久源代码许可的成本是 2000 美元."

PS. I know that there is this "SQLite Encryption Extension (SEE).", but according to the documentation, "The SEE is licensed software...." and "The cost of a perpetual source code license for SEE is US $2000."

推荐答案

SQLite 内置了用于加密的钩子,这些钩子在正态分布中不使用,但这里有一些我知道的实现:

SQLite has hooks built-in for encryption which are not used in the normal distribution, but here are a few implementations I know of:

  • SEE - 官方实现.
  • wxSQLite - 一个 wxWidgets 风格的 C++ 包装器,也实现了 SQLite 的加密.
  • SQLCipher - 使用 openSSL 的 libcrypto 来实现.
  • SQLiteCrypt - 自定义实现,修改后的 API.
  • botansqlite3 - botansqlite3 是 SQLite3 的加密编解码器,可以使用 Botan 中的任何算法进行加密.
  • sqleet - 另一个加密实现,使用 ChaCha20/Poly1305 原语.请注意,上面提到的 wxSQLite 可以将其用作加密提供程序.
  • SEE - The official implementation.
  • wxSQLite - A wxWidgets style C++ wrapper that also implements SQLite's encryption.
  • SQLCipher - Uses openSSL's libcrypto to implement.
  • SQLiteCrypt - Custom implementation, modified API.
  • botansqlite3 - botansqlite3 is an encryption codec for SQLite3 that can use any algorithms in Botan for encryption.
  • sqleet - another encryption implementation, using ChaCha20/Poly1305 primitives. Note that wxSQLite mentioned above can use this as a crypto provider.

SEE 和 SQLiteCrypt 需要购买许可证.

The SEE and SQLiteCrypt require the purchase of a license.

披露:我创建了 botansqlite3.

Disclosure: I created botansqlite3.

这篇关于带有加密/密码保护的 SQLite的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

FastAPI + Tortoise ORM + FastAPI Users (Python) - Relationship - Many To Many(FastAPI+Tortoise ORM+FastAPI用户(Python)-关系-多对多)
Window functions not working in pd.read_sql; Its shows error(窗口函数在pd.read_sql中不起作用;它显示错误)
(Closed) Leaflet.js: How I can Do Editing Geometry On Specific Object I Select Only?((已关闭)Leaflet.js:如何仅在我选择的特定对象上编辑几何图形?)
in sqlite update trigger with multiple if/Case Conditions(在具有多个IF/CASE条件的SQLite UPDATE触发器中)
Android: Why is Room so slow?(Android:为什么Room这么慢?)
Remote Procedure call failed with sql server 2008 R2(使用 sql server 2008 R2 的远程过程调用失败)