_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>
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