gpt4 book ai didi

c# - 在 C# 中加密 SQLite 数据库

转载 作者:IT王子 更新时间:2023-10-29 04:42:23 24 4
gpt4 key购买 nike

在 .Net/C# 中加密 SQLite 数据库文件的最佳方法是什么?我正在使用 sqlite-dotnet2包装器。

有类似 SQLite Encryption Extension 的工具和 SQLite Crypt ,但两者都是非免费的,而我的项目是在 GPL 下。

我想到的天真的方法是让 SQLite 处理一个临时文件,然后在程序退出时加密它,并覆盖(清零)原始文件。明显的缺点是如果程序崩溃(并且在运行时),纯文本数据库是可以访问的。

有没有更好的方法来解决这个问题?我可以将加密流传递给包装器(而不是使用 SQLiteConnection.CreateFile)吗?

[edit] 也许我想多了。在连接字符串中使用密码选项是否足够?在这种情况下,文件会被正确加密吗(或者它是否有一些较弱的保护)?

最佳答案

我建议使用包含加密功能的 System.Data.Sqlite 包装器。它运行良好,易于使用,并且是一个完整的 ADO.Net 实现。您可以从 https://system.data.sqlite.org 获取包装器,并且开发人员描述了如何在此论坛上使用加密:https://web.archive.org/web/20100207030625/http://sqlite.phxsoftware.com/forums/t/130.aspx .提示 - 您只需设置密码属性。他还在论坛的其他地方描述了他如何使用 Microsoft Crypto API 进行加密。

关于c# - 在 C# 中加密 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1259561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com