加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

任何人在Monotouch中的sqlite数据库上成功使用密码?

发布时间:2020-12-12 19:16:17 所属栏目:百科 来源:网络整理
导读:我有一个使用sqlite数据库的Monotouch应用程序。我想加密数据库,所以我这样做: _mainConnection = new SqliteConnection("Uri="+finalDB);_mainConnection.Open();_mainConnection.ChangePassword("mypassword"); 但是,它不工作(在模拟器和iphone上)。它
我有一个使用sqlite数据库的Monotouch应用程序。我想加密数据库,所以我这样做:
_mainConnection = new SqliteConnection("Uri="+finalDB);
_mainConnection.Open();
_mainConnection.ChangePassword("mypassword");

但是,它不工作(在模拟器和iphone上)。它会得到这个错误:

at (wrapper managed-to-native)
Mono.Data.Sqlite.UnsafeNativeMethods.sqlite3_rekey
(intptr,byte[],int) <0x0005c> at
(wrapper managed-to-native)
Mono.Data.Sqlite.UnsafeNativeMethods.sqlite3_rekey
(intptr,int) <0x0005c> at
Mono.Data.Sqlite.SQLite3.ChangePassword
(byte[]) <0x00053> at
Mono.Data.Sqlite.SqliteConnection.ChangePassword
(byte[]) <0x0004b> at
Mono.Data.Sqlite.SqliteConnection.ChangePassword
(string) <0x0005b>

有没有人成功地在Monotouch的sqlite数据库上使用密码保护?

根据我的研究,有几个使用MonoTouch进行数据库加密的选项。我有一个即将到来的博客文章,但现在这些是你的前两个选择:

SQLCipher

我已经大大地自动化了SQLCipher构建过程。所有这一切都是一个简单的make命令,你有一个可以链接到你的项目的库。它使用了令人敬畏的SQLite-NET库。之后,所需要的是在SQLite.cs文件中提供密钥。

> SQLCipherNet:https://github.com/anujb/SQLCipherNet

CSharp-SQLite

这是C#中SQLite库的托管端口。性能只有约2倍的速度,这是非常棒的,因为它不是本机代码!

>加密:http://code.google.com/p/csharp-sqlite/wiki/ENCRYPTION
> Perf基准:http://code.google.com/p/csharp-sqlite/wiki/Benchmarks

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读