Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption ';文件已加密或不是数据库';打开sqlite数据库时出错_Encryption_Sqlite - Fatal编程技术网

Encryption ';文件已加密或不是数据库';打开sqlite数据库时出错

Encryption ';文件已加密或不是数据库';打开sqlite数据库时出错,encryption,sqlite,Encryption,Sqlite,我的UWP应用程序中有一个sqlite数据库。在我的应用程序第一次启动时,我创建了数据库,并用所有的表和东西进行了设置。我玩这个应用程序,生成一些数据。但当我关闭并重新启动应用程序时,它会在尝试执行任何查询时给我“文件已加密或不是数据库”错误。 我使用的是sqlite3.dll v3.12.0,下面是我的pragma key语句(带有示例加密密钥): 在第二次启动时,我验证了加密密钥是否用于运行pragma key语句 编辑:看起来加密进行得很顺利。因为,当我使用像这样的工具并提供相同的密钥时,

我的UWP应用程序中有一个sqlite数据库。在我的应用程序第一次启动时,我创建了数据库,并用所有的表和东西进行了设置。我玩这个应用程序,生成一些数据。但当我关闭并重新启动应用程序时,它会在尝试执行任何查询时给我
“文件已加密或不是数据库”错误。
我使用的是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>