gpt4 book ai didi

c# - 尝试在 UWP 上加密 SQLite 数据库的问题

转载 作者:行者123 更新时间:2023-12-03 19:04:58 27 4
gpt4 key购买 nike

我在尝试加密 SQLite 数据库时遇到问题。到目前为止,我已经尝试了很多东西,但似乎都没有奏效。

  • 最初我使用了(不受支持的)SQLiteConnection.SetPassword()方法由 System.Data.SQLite 提供,但是一段时间以来,此方法已从 System.Data.SQLite 中删除包裹。尝试采用较旧的 SQLite 版本很困难,因为 UWP 是 UAP 而不是 .NET Framework。
  • 因此我搬到了Microsoft.Data.Sqlite.Core并使用 this安装文档 SQLitePCLRaw.bundle_e_sqlcipher打包并调用 SQLitePCL.Batteries_V2.Init()SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provided_e_sqlcipher()) .然后执行查询 PRAGMA KEY = 'password'不加密数据库文件。
  • 我也看到人们使用的帖子 SQLitePCLRaw.bundle_sqlcipher而不是 ...e_sqlcipher但是在这种情况下 ...V2.Init()不工作。
  • 我也研究过使用 sqlite-net-sqlcipher但是正在执行 SQLiteConnection.Query<int>("PRAGMA key = 'password'");也不加密数据库。尝试使用 key: "password" 查询数据库时然后将导致 The file is no database表示数据库中缺少密码的错误。

  • 如何为 UWP 加密 SQLite 数据库,最好使用 Microsoft.Data.Sqlite但其他选择也很好。
    我还主要寻找一种免费的方式来实现这一目标,因为 900 美元对于我正在从事的项目来说已经超出了预算。

    最佳答案

    虽然我没有对列出的每个包进行测试,但我找到了我问题的答案:
    首先,我按照 this 上发布的答案中的说明进行操作题。然后而不是尝试 PRAGMA key = 'password'一个现有的数据库,而不是我创建了一个新的数据库 key = 'password'SQLiteConnectionString 中指定构造函数。
    这为我创建了一个新的、已经加密的数据库。
    编辑:我现在也用 Microsoft.Data.Sqlite.Core 测试了这个和 SQLitePCLRaw.bundle_e_sqlcipher事实证明,还结合指定 Password = 'password' 创建了一个新数据库。例如在 SqliteConnectionStringBuilder 将创建一个加密的新数据库。

    I have posted an example project with code here

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

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