Encryption ';文件已加密或不是数据库';打开sqlite数据库时出错
我的UWP应用程序中有一个sqlite数据库。在我的应用程序第一次启动时,我创建了数据库,并用所有的表和东西进行了设置。我玩这个应用程序,生成一些数据。但当我关闭并重新启动应用程序时,它会在尝试执行任何查询时给我Encryption ';文件已加密或不是数据库';打开sqlite数据库时出错,encryption,sqlite,Encryption,Sqlite,我的UWP应用程序中有一个sqlite数据库。在我的应用程序第一次启动时,我创建了数据库,并用所有的表和东西进行了设置。我玩这个应用程序,生成一些数据。但当我关闭并重新启动应用程序时,它会在尝试执行任何查询时给我“文件已加密或不是数据库”错误。 我使用的是sqlite3.dll v3.12.0,下面是我的pragma key语句(带有示例加密密钥): 在第二次启动时,我验证了加密密钥是否用于运行pragma key语句 编辑:看起来加密进行得很顺利。因为,当我使用像这样的工具并提供相同的密钥时,
“文件已加密或不是数据库”错误。
我使用的是sqlite3.dll v3.12.0,下面是我的pragma key语句(带有示例加密密钥):
在第二次启动时,我验证了加密密钥是否用于运行pragma key语句
编辑:看起来加密进行得很顺利。因为,当我使用像这样的工具并提供相同的密钥时,它会很好地打开数据库。我认为可能发生在您身上的是,您以前使用过一个SQLite库,它可以像我一样正确地使用加密
<SDKReference Include="SQLite.UAP.2015, Version=3.10.2">
<Name>SQLite for Universal App Platform</Name>
</SDKReference>
用于通用应用程序平台的SQLite
由于您将库更新为v3.12.0,因此此版本中的PRAGMA密钥不起作用,因此无法进入以前的加密数据库
我正在尝试重建指向该版本的链接,但很难:Hi Ashish,你能告诉我你使用该PRAGMA密钥触发DB加密的C代码吗?在我的例子中,我使用相同的版本(即v3.12.0)加密DB,但在解密时还是出现了错误。但是,当我重新安装sqlite软件包时,错误被解决了(不确定如何解决)。嗨,Ashish,我只想知道,您使用的是通用Windows平台sqlite扩展,对吗?以及“SQLite.Net PCL”:“3.1.1”,?您好。或者您正在使用SqlCipher?我只使用UWP Sqlite扩展。
<SDKReference Include="SQLite.UAP.2015, Version=3.10.2">
<Name>SQLite for Universal App Platform</Name>
</SDKReference>