最近项目中需要对图片的安全做处理,保证用户(即使是越狱用户)也不能查看到从服务器中下载下来的图片。
折腾了多种方法,发现还是使用base64对储存的文件进行一次编码最方便,编码之后,用户打开图片时将显示为全黑色
编码方法:
NSString *path1 = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/bronze/download/img_0_0_0.png"]; //文件路径转换为data NSData *imageData0 = [NSData dataWithContentsOfFile:path1]; //对data进行base64编码 NSData *imageData = [GTMBase64 encodeData:imageData0]; [imageData writeToFile:path1 atomically:YES];
解码显示:
NSString *imagePath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/bronze/download/img_0_0_0.png"]; NSData *data = [NSData dataWithContentsOfFile:imagePath]; NSData *data1 = [GTMBase64 decodeData:data]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 20, 300, 400)]; imageView.image = [UIImage imageWithData:data1]; imageView.backgroundColor = [UIColor redColor]; [self.view addSubview:imageView];
参考:http://blog.csdn.net/yshen_dublin/article/details/4416209