繁体   English   中英

C#确定是否对SQLite数据库文件进行密码加密

[英]C# Determine if a SQLite database file is password encrypted

是的,我知道可以尝试连接到SQLite数据库,如果需要密码,则可以使用try-catch。 这不是干净的代码。 我正在寻找一种更聪明的方法来确定.sqlite文件是否已加密,然后再尝试将其连接。 我正在为该项目使用System.Data.sqlite dll。

您将必须检查SQLite主数据库文件本身。

摘自SQLite数据库文件格式

1.2.4每页保留字节

SQLite能够在每个页面的末尾留出少量额外的字节供扩展使用。 例如,SQLite加密扩展使用这些额外的字节来存储与每个页面关联的现时和/或加密校验和。

您唯一的选择是try-catch。 由于整个数据库文件(包括元数据) 都是经过加密的 ,因此没有可测试的特定位。 但是我认为在处理不正确或丢失的密码时,try-catch是合适的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM