C#确定SQLite数据库文件是否经过密码加密
本文关键字:经过 密码 加密 是否 文件 确定 SQLite 数据库 | 更新日期: 2023-09-27 18:29:54
是的,我知道可以尝试连接到SQLite数据库,然后在需要密码的情况下使用try-catch。这不是干净的代码。我正在寻找一种更智能的方法,在尝试连接.sqlite文件之前确定该文件是否已加密。我正在为此项目使用System.Data.sqlite dll。
您必须检查SQLite主数据库文件本身。
摘录自SQLite数据库文件格式:
1.2.4每页保留字节
SQLite能够在每个页面的末尾供扩展使用。这些额外的字节是例如,由SQLite加密扩展用于存储随机数和/或与每个页面相关联的密码校验和。
您唯一的选择就是try-catch。由于整个数据库文件都是加密的,包括元数据,所以没有特定的比特可以测试。但我相信,在处理不正确或丢失的密码时,try-catch是合适的。