Actualmente estoy guardando un NSDictionary en el archivo en el dispositivo iOS. Sin embargo, los archivos NSDictionary son legibles en XML. No quiero que las personas puedan entrar y leer los contenidos, así que tengo que poder encriptar el archivo al escribirlo y descifrarlo cuando vuelva a cargarlo.Intentando encriptar un NSDictionary al escribir en el archivo
Actualmente estoy guardando el archivo como esto:
NSFileManager* fileManager = [NSFileManager defaultManager];
if (!fileManager)
{
NSLog(@"Failed to get file manager to save.");
return;
}
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
NSString* filePath = [documentsDirectory stringByAppendingPathComponent:@"save.dic"];
[m_dictionary writeToFile:filePath atomically:YES];
Y estoy cargando el diccionario como esto:
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
NSString* filePath = [documentsDirectory stringByAppendingPathComponent:@"save.dic"];
m_dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
Alguien me puede dar una buena manera de cifrar \ descifrar este ?
Saludos, Rich
Ah fantástico. Lo miraré. Gracias por la rápida respuesta. –
@DarkDust [NSKeyedUnarchiver unarchiveObjectWithData: someArchivedDictionary] que devuelve la instancia de NSData en lugar de NSMutableDictionary. Estoy siguiendo los pasos que sugirió: Archivar -> Cifrar con AES -> Almacenar en archivo -> Leer desde archivo -> Descifrar con AES -> Desarchivar. Alguna idea de lo que podría ser el problema? Si lo solicita, puedo publicarlo como una nueva pregunta. –
hermosa, gran respuesta! –