首页 > 解决方案 > 新的 FMDB 不使用 SqlCipher 加密?

问题描述

我迅速将FMDB和 FMDB/SQLCipher 添加到我的可可应用程序中。我发现一些链接告诉如何将现有的未加密 sqlite3 数据库导出到加密数据库。但我想创建新的加密数据库。所以我按照下面的代码,但数据库没有加密,仍然可以通过 sql lite 浏览器等第三方工具打开。请帮我。

 private let key = "password"  
 let databaseFileName = "sample.db"
 var pathToDatabase: String!
 var database: FMDatabase!

 let documentsDirectory = (NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory, .userDomainMask, true)[0] as NSString) as String
 pathToDatabase = documentsDirectory.appending("/\(databaseFileName)")

 if !FileManager.default.fileExists(atPath: pathToDatabase) {
      database = FMDatabase(path: pathToDatabase!)
      if database != nil {
            // Open the database.
            if database.open() {
                database.setKey(key)
            }
            else {
                print("Could not open the database.")
            }
        }
    }

我检查了database.setKey(key)返回false,可能是什么问题?

标签: swiftencryptionsqlitefmdb

解决方案


推荐阅读