加密和解密存储文件
问题描述:
我将所有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