加密和解密存储文件

时间:2016-09-26 06:24:28

标签: ios objective-c core-data encryption

我将所有CoreDataNSUserDefault值存储在以编程方式创建的cdb商店文件中,并将其上传到用户的iCloud以备份其数据。因此,他可以从任何设备恢复他的数据。

由于cdb存储文件包含一些敏感数据,并且该文件可以从iCloud复制到计算机并且可以使用某些sql浏览器打开,我想以某种方式加密文件,然后再进行备份和在恢复时解密。我想知道有没有办法或工具来做到这一点。

1 个答案:

答案 0 :(得分:0)

尝试RNCryptor https://github.com/RNCryptor/RNCryptor

基本密码使用

<强>夫特

// Encryption
let data: NSData = ...
let password = "Secret password"
let ciphertext = RNCryptor.encryptData(data, password: password)

// Decryption
do {
    let originalData = try RNCryptor.decryptData(ciphertext, password: password)
    // ...
} catch {
    print(error)
}

<强>的OBJ-C

// Encryption
NSData *data = ...
NSString *password = @"Secret password";
NSData *ciphertext = [RNCryptor encryptData:data password:password];

// Decryption
NSError *error = nil;
NSData *plaintext = [RNCryptor decryptData:ciphertext password:password error:&error];
if (error != nil) {
    NSLog(@"ERROR:%@", error);
    return
}
// ...