标签: sqlcipher

如何使用Windows/MinGW平台使用SQLCipher-extension为SQLite-DB构建Qt-SQL-driver-plugin'QSQLCIPHER'?

这通常不是一个问题,在哪里可以找到分步指南,而是指导本身.
我对这篇文章的意图是给别人一个提示,他在编译驱动程序插件方面遇到的问题和我最近的问题一样.

如何使用Windows/MinGW平台使用SQLCipher-extension为SQLite-DB构建Qt-SQL-driver-plugin'QSQLCIPHER'?

sqlite encryption qt mingw sqlcipher

5
推荐指数
1
解决办法
6811
查看次数

在 Windows 上使用 SQLCipher 编译 SQLite

我正在按照教程在 Windows 上使用 SQLCipher 编译 SQLite。我对编译的先决条件感到困惑。我发现我需要安装以下来编译它:

  1. 开放式SSL
  2. 明威
  3. ActiveState Perl
  4. tcltk/tclsh
  5. 管理系统
  6. 视觉工作室
  7. 赛格温

在以上所有内容中,我只安装了 Visual Studio 2008。我正在使用 Windows 7。

在 Windows 上使用 SQLCipher 编译 SQLite 的确切先决条件是什么?

sqlite security encryption sqlcipher

4
推荐指数
1
解决办法
9974
查看次数

将.so文件添加到Android项目中

我正在尝试将 SQLCipher 添加到我的项目中。我可以将 jar 文件链接到项目,但链接提供的 .so 文件时出现问题。

因此,当我尝试打开数据库时,我收到 UnSatisfiedLinkError 。

谁能告诉我将 .so 文件添加到项目并使其运行的最佳方法。

android sqlcipher

4
推荐指数
1
解决办法
3930
查看次数

sqlcipher崩溃与"非错误"stacktrace

我试图在我的项目API 16(摩托罗拉Xoom 4.1.2)中使用sqlcipher(2.0.8)并获得以下stacktrace.我在libs中的armeabi文件夹中有3个这样的库,在assets文件夹中有icudt46l.zip.我SQLiteDatabase.loadLibs(context);参与了我的活动.但是,当II创建数据库时,应用程序崩溃了.

11-08 21:00:33.050: E/AndroidRuntime(2222): FATAL EXCEPTION: Main:
11-08 21:00:33.050: E/AndroidRuntime(2222): net.sqlcipher.database.SQLiteException: not an error
11-08 21:00:33.050: E/AndroidRuntime(2222):     at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
11-08 21:00:33.050: E/AndroidRuntime(2222):     at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1952)
11-08 21:00:33.050: E/AndroidRuntime(2222):     at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:902)
11-08 21:00:33.050: E/AndroidRuntime(2222):     at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:945)
11-08 21:00:33.050: E/AndroidRuntime(2222):     at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)
Run Code Online (Sandbox Code Playgroud)

android sqlcipher

4
推荐指数
1
解决办法
1946
查看次数

sqlcipher 命令行不起作用

我有一个加密的 sqlite db 及其密钥。(由 android 程序生成)。但是,当我在命令行中打开数据库时,我无法读取数据库。命令行工具通过以下方式安装:

brew install sqlcipher
Run Code Online (Sandbox Code Playgroud)

我通过以下方式打开数据库:

sqlcipher EnDB.db
>pragma key="6b74fcd";
>select * from bizinfo;
Run Code Online (Sandbox Code Playgroud)

它一直告诉我“错误:文件已加密或不是数据库”

但是,如果我使用 gui app sqlite 数据库浏览器(这是一个 Windows 程序,我在 wine 中运行它)打开数据库文件。它弹出一个窗口让我输入密钥,以6b74fcd作为成功读取数据库的密钥。

sqlite 数据库浏览器

由于我想在将来自动处理数据库,所以我不能依赖 GUI。你知道为什么命令行不起作用吗?

database sqlite sqlcipher

4
推荐指数
1
解决办法
3228
查看次数

Android Proguard SqlCipher NoClassDefFoundError

一直在和Proguard一起战斗,并在官方的Proguard网站和StackOverflow上尝试了很多示例和解决方案.

我有一个需要混淆的大型项目,它有许多引用的库项目和Jars.

我从2个libs,com.google.common和twitter4j收到来自proguard的725个警告.

如果我添加以下内容,我很乐意让项目编译:

-dontwarn com.google.common.**

-dontwarn twitter4j.**
Run Code Online (Sandbox Code Playgroud)

然而,应用程序在打开时立即崩溃,所以这似乎只是一种隐藏问题的方式,而不是修复它.

proguard-project.txt位于项目根目录中,其配置位于project.properties文件中,如下所示.

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)

这是我的proguard-project.txt文件

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dontshrink

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keep class javax.** { *; }
-keep class org.** { *; }
-keep …
Run Code Online (Sandbox Code Playgroud)

obfuscation android proguard sqlcipher

4
推荐指数
1
解决办法
3693
查看次数

无法在Xcode中构建sqlcipher:缺少sqlite3.c

我无法在Xcode(5.0)上构建sqlcipher(最新的git-source),它失败了:

clang:错误:没有这样的文件或目录:..../sqlite.c

我正在尝试为iOS构建(5,使用v7 SDK).openssl,openssl-xcode和sqlcipher作为子项目包含在文档中,sqlcipher的目标是sqlcipher和amalgamation,但由于某种原因,sqlite3.c没有被构建.任何想法在哪里看得更远?我不是xcode专家......提前谢谢!

xcode ios sqlcipher

3
推荐指数
1
解决办法
3102
查看次数

尝试在Android中使用Proguard和SQLcipher时获取NoClassDefFoundError

我正在ava.lang.NoClassDefFoundError: net/sqlcipher/CursorWindow尝试使用sqlicipher和proguard运行我的应用程序.该项目完美无需启用proguard.我第一次使用sqlcipher创建一个新的db我得到上面的错误.我看过另一个看似相同的问题,但我已经尝试了这个问题的答案,我仍然得到了错误.

Android Proguard SqlCipher NoClassDefFoundError

这是我的全部内容proguard-properties:

-libraryjars libs/commons-codec.jar
-libraryjars libs/guava-r09.jar
-libraryjars libs/httpmime-4.1.2.jar
-libraryjars libs/jsr305-2.0.2.jar
-libraryjars libs/libphonenumber-5.7.jar
-libraryjars libs/sqlcipher.jar
-keep class com.myandroidapp.** { *; }


-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-dontobfuscate
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application

-dontwarn javax.annotation.**

-dontwarn android.app.**
-dontwarn android.support.**
-dontwarn android.view.**
-dontwarn android.widget.**

-dontwarn com.google.common.primitives.**

-dontwarn **CompatHoneycomb
-dontwarn **CompatHoneycombMR2
-dontwarn **CompatCreatorHoneycombMR2

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * { …
Run Code Online (Sandbox Code Playgroud)

obfuscation android proguard sqlcipher android-sqlite

3
推荐指数
2
解决办法
2969
查看次数

使用FMDB,SqliteCipher和CocoaPods的新Xcode项目的警告

我已经安装了CocoaPods ..并按照指示加载了工作区.

我收到这些警告,我不明白,这是一个例子:

豆荚-CipherDatabaseSync-SQLCipher sqlite.c /Users/admin/Code/CipherDatabaseSync/Pods/SQLCipher/sqlite3.c:24035:13:宏 'MAX' 的歧义膨胀

我已经四处寻找了几个小时,我对我需要做的事情感到难过,有人可以指点我的方向,提供一些见解吗?

谢谢.

xcode fmdb sqlcipher cocoapods

3
推荐指数
1
解决办法
2127
查看次数

在 Android 应用程序中将 SqlCipher 与 ProGuard 一起使用时出现 NoSuchFieldError

出于安全原因,要求之一是加密 SQLite 数据库。因此,我必须使用 SQLCupher。只要我不使用 启用混淆,应用程序就会按预期工作minifyEnabled true

一旦我设置minifyEnabled true,我就会得到一个NoSuchFieldError.

我正在 Application 子类中初始化 SQLCipher:

SQLiteDatabase.loadLibs(this);
Run Code Online (Sandbox Code Playgroud)

这是异常日志:

com.iconnectyo: runtime.cc:663] JNI DETECTED ERROR IN APPLICATION: JNI FindClass called with pending exception java.lang.NoSuchFieldError: no "J" field "mNativeHandle" in class "Lnet/sqlcipher/database/SQLiteDatabase;" or its superclasses
    runtime.cc:663]   at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.Class) (Runtime.java:-2)
    runtime.cc:663]   at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:1131)
    runtime.cc:663]   at void java.lang.Runtime.loadLibrary0(java.lang.ClassLoader, java.lang.Class, java.lang.String) (Runtime.java:1085)
    runtime.cc:663]   at void java.lang.Runtime.loadLibrary0(java.lang.Class, java.lang.String) (Runtime.java:1008)
    runtime.cc:663]   at void java.lang.System.loadLibrary(java.lang.String) (System.java:1664)
    runtime.cc:663]   at void net.sqlcipher.database.SQLiteDatabase$a.a(java.lang.String[]) (:213) …
Run Code Online (Sandbox Code Playgroud)

android proguard sqlcipher sqlcipher-android

3
推荐指数
1
解决办法
1966
查看次数