2016-09-26 170 views
0

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

自那cdb存储文件包含一些敏感数据和文件可以从iCloud被复制到计算机,并可以与一些SQL浏览器打开,我想备份文件之前以某种方式加密和恢复的同时解密。我想知道有没有什么方法或工具可以做到这一点。

+0

为什么不使用AES 128,256等任何加密/解密算法?您可以参考[深度中的密码学概念]的Apple文档(https://developer.apple.com/library/content/documentation/Security/Conceptual/ cryptoservices/CryptographyConcepts/CryptographyConcepts.html#// apple_ref/doc/uid/TP40011172-CH8-SW1) –

+0

很多,只是一定要问用户输入密码 – Wain

+0

是否可以用AES加密文件@DipenPanchasara? – birdcage

回答

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) 
} 

对象 -

// 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 
} 
// ... 
+0

我想这不是加密文件内的文件 – birdcage

+0

,你将只有数据! – Vegeta