最近项目中需要对图片的安全做处理,保证用户(即使是越狱用户)也不能查看到从服务器中下载下来的图片。
折腾了多种方法,发现还是使用base64对储存的文件进行一次编码最方便,编码之后,用户打开图片时将显示为全黑色
编码方法:
NSString *path1 = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/bronze/download/img_0_0_0.png"];//文件路径转换为dataNSData *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];
参考:/yshen_dublin/article/details/4416209