ios - 为数据库设置加密 key (Sybase 无线平台)

标签 ios sybase sup

目前我可以通过执行以下操作为我的本地数据库设置加密 key :

 if(![MyDemo_MyDemoDB databaseExists]){
        SUPConnectionProfile* cp = [MyDemo_MyDemoDB
                                    getConnectionProfile];
        [cp setEncryptionKey:@"Yourkey"];
        [MyDemo_MyDemoDB closeConnection];
    }

因此,当我的用户成功登录时(通过为 SUPDataVault 提供正确的密码),我收到以下错误:

ERROR sup_sqlite_db_ConnectionWrapperImpl.m:62 dynamicStatement: There is an exception file is encrypted or is not a database
2011-12-21 13:32:05.112 MyDemo10389:11603 MBODebugLogger: SUPPersistenceException SUPPersistenceException from find: -- sup_sqlite_db_StatementWrapperImpl: There is an exception null value for sqlite3_stmt
2011-12-21 13:32:05.225 MyDemo10389:11603 *** Terminating app due to uncaught exception 'SUPPersistenceException', reason: 'SUPPersistenceException from find: -- sup_sqlite_db_StatementWrapperImpl: There is an exception null value for sqlite3_stmt'

我认为正在发生的事情是,虽然数据库已成功创建,但它仍然是加密的。如何解密?

最佳答案

其实很简单,我只需要在每次开始 session 时都这样做:

SUPConnectionProfile* cp = [MyDemo_MyDemoDB
                                    getConnectionProfile];
[cp setEncryptionKey:@"Yourkey"];

关于ios - 为数据库设置加密 key (Sybase 无线平台),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590929/

相关文章:

ios - 防止调用子类中的继承方法

java - 是否可以在 POST 命令后忽略网络服务器的响应?

ios - 如何在SUP(sybase无线平台)中为ios应用程序以离线模式工作

ios - 响应一个手势识别器的多个可见 View

ios - 当设备连接到网络(wifi/3G)但在使用 Swift 的 iOS 中没有互联网访问时如何检查互联网连接?

iphone - 可以像iPhone中的 "unlock slider"一样自定义UISlider吗?

sql - Sybase Jconnect 驱动程序 - 默认获取大小是多少以及增加获取大小是否对我有利

java - 在 2 个表中使用具有相同列名的 ResultSetMetaData

database - 在 Sybase IQ 中设置用户的默认数据库/模式

android - 如何将中继服务器集成到正在运行的 SUP Android 项目中?