如果我使用领域,我的iOS应用程序是否包含加密



最后我将我的应用程序上传到应用商店连接。我使用的是最新版本的realmswift,我只创建了一个默认的领域数据库,从未明确告诉领域使用加密。在这种情况下,我的应用程序是否包含加密?

此外,有时我可以看到输出,看起来像是realm建立了互联网连接(我不知道它是否是HTTPS(,我也不知道为什么。也许是为了查看领域的更新?

在这种情况下,realm真的建立了HTTPS连接吗?我应该选择什么?包含还是不包含?

Realm数据库不会加密,除非您告诉它是加密的。例如,您需要为要加密的领域包括以下代码

// Generate a random encryption key
var key = Data(count: 64)
_ = key.withUnsafeMutableBytes { (pointer: UnsafeMutableRawBufferPointer) in
SecRandomCopyBytes(kSecRandomDefault, 64, pointer.baseAddress!) }
var config = Realm.Configuration(encryptionKey: key)
do {
let realm = try Realm(configuration: config)
} catch let error as NSError {
fatalError("Error opening realm: (error.localizedDescription)")
}

也就是说,默认情况下,iOS 8及以上版本的应用程序文件在设备锁定时都会使用NSFileProtection进行加密。

当涉及到同步的Realm时,这有点不同,因为磁盘上的文件可以根据上面的内容进行加密,但存储在MongoDB中的同步数据没有加密。

同步领域将建立与同步服务器(MongoDB(的连接,从而产生互联网流量。同样,如果您使用REST调用从MongoDB中提取数据,这些调用也会导致网络活动。

相关内容

最新更新