2016-09-26 161 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