目前我可以通过执行以下操作为我的本地数据库设置加密 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/