我將所有CoreData
和NSUserDefault
值存儲在以編程方式創建的cdb
存儲文件中,並將其上傳到用戶的iCloud
以備份其數據。所以,他可以從任何設備恢復他的數據。加密和解密存儲文件
自那cdb
存儲文件包含一些敏感數據和文件可以從iCloud
被複制到計算機,並可以與一些SQL瀏覽器打開,我想備份文件之前以某種方式加密和恢復的同時解密。我想知道有沒有什麼方法或工具可以做到這一點。
我將所有CoreData
和NSUserDefault
值存儲在以編程方式創建的cdb
存儲文件中,並將其上傳到用戶的iCloud
以備份其數據。所以,他可以從任何設備恢復他的數據。加密和解密存儲文件
自那cdb
存儲文件包含一些敏感數據和文件可以從iCloud
被複制到計算機,並可以與一些SQL瀏覽器打開,我想備份文件之前以某種方式加密和恢復的同時解密。我想知道有沒有什麼方法或工具可以做到這一點。
嘗試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
}
// ...
爲什麼不使用AES 128,256等任何加密/解密算法?您可以參考[深度中的密碼學概念]的Apple文檔(https://developer.apple.com/library/content/documentation/Security/Conceptual/ cryptoservices/CryptographyConcepts/CryptographyConcepts.html#// apple_ref/doc/uid/TP40011172-CH8-SW1) –
很多,只是一定要問用戶輸入密碼 – Wain
是否可以用AES加密文件@DipenPanchasara? – birdcage