3

我有许多 LiteDB 数据库文件。其中一些有密码。当我在应用程序中打开这些文件时,对于那些有密码的文件,我将得到 Invalid database password 异常。

如何在打开数据库文件之前检查它是否有密码保护?所以我可以向用户显示一个输入框以获取密码。

我在 Windows WPF 应用程序(C#)中使用 LiteDB。

谢谢和对不起我的英语。:)

4

2 回答 2

3

对于 LiteDB v5.0.x 数据文件(更具体地说,v8 数据文件格式),第一个字节用于指示文件是否加密:0 表示未加密,1 表示已加密。

于 2020-05-20T19:10:29.540 回答
2

没有直接的选项来测试数据文件是否加密。但是您可以测试一些标头字节以检查数据文件是否包含哈希密码(这适用于 v4)。

您可以打开数据文件并测试 20 个字节(从位置 67 开始) - 如果所有字节均为 0,则表示此数据文件没有密码。

于 2019-07-23T12:23:54.710 回答