是的,我知道可以尝试连接到SQLite数据库,然后使用try-catch来判断是否需要密码。但这不是清晰的代码。我正在寻找更聪明的方法,在尝试连接之前确定一个.sqlite文件是否已加密。对于这个项目,我正在使用System.Data.sqlite dll。
是的,我知道可以尝试连接到SQLite数据库,然后使用try-catch来判断是否需要密码。但这不是清晰的代码。我正在寻找更聪明的方法,在尝试连接之前确定一个.sqlite文件是否已加密。对于这个项目,我正在使用System.Data.sqlite dll。
您需要检查SQLite主数据库文件本身。
The SQLite Database File Format的摘录:
1.2.4 每页保留字节
SQLite有能力为扩展设置一些额外的小字节数。例如,这些额外的字节被SQLite加密扩展用于存储与每个页面相关的nonce和/或加密校验和。