iO里加密字符串、图片、视频方法

1、使用GTMBase64编码解码字符串

GTMDefines.h
GTMBase64.h
GTMBase64.m

你可以在这里找到这三个文件(GTMDefines.h在第二页,点击右上角的next按钮即可跳转到第二页)

http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

2、编解码函数(可以编解码字符串、图片、视频:filePath换成相应的即可):

从模拟器和真机的Documents路径下读取文件,编码后写入文件;读出来解码

// 加密函数

-(void)func_encodeFile

{

    //NSString *path = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/test.png"];

    NSString *filePath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/iphone4.mov"];

    

    //文件路径转换为NSData

    NSData *imageDataOrigin = [NSData dataWithContentsOfFile:filePath];

    

    // 对前1000位进行异或处理

    unsigned char * cByte = (unsigned char*)[imageDataOrigin bytes];

    for (int index = 0; (index < [imageDataOrigin length]) && (index < 1000);
index++, cByte++)

    {

         *cByte = (*cByte) ^ arrayForEncode[index];

    }

    

    //对NSData进行base64编码

    NSData *imageDataEncode = [GTMBase64 encodeData:imageDataOrigin];

    

    [imageDataEncode writeToFile:filePath atomically:YES];

}

// 解密函数

-(void)func_decodeFile

{

    //NSString *filePath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/test.png"];

    NSString *filePath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/iphone4.mov"];

    

    // 读取被加密文件对应的数据

    NSData *dataEncoded = [NSData dataWithContentsOfFile:filePath];

    

    // 对NSData进行base64解码 

    NSData *dataDecode = [GTMBase64 decodeData:dataEncoded];

    

    // 对前1000位进行异或处理

    unsigned char * cByte = (unsigned char*)[dataDecode bytes];

    for (int index = 0; (index < [dataDecode length]) && (index < 10);
index++, cByte++)

    {

        *cByte = (*cByte) ^ arrayForEncode[index];

    }

    

    [dataDecode writeToFile:filePath atomically:YES];

}

时间: 2024-08-29 08:22:53

iO里加密字符串、图片、视频方法的相关文章

防止新闻系统里产生垃圾图片的方法

现在的新闻系统里越多地支持在线上传插入图片,以实现在比较好的效果.可是问题也随之而来了,有的图片传上去后,发现这个图片不对,那只能在编辑器里把它删掉,或是,在添加地程中系统出现问题,而导致垃圾图片的产生.为了防止在这过程中出现垃圾图片和附件,许多人多研究了不少的方法,如动网论坛里,对上传的每一个文件,在数据库里都有相应的一个记录,这样要占用一个表来存放,并且如果在添加数据到数据库里时系统出现异常,也同样无法避免这些垃圾的产生.经过我的一些实践,研究出我的方法,现在贡献出来,供大家斧正.我的方法流

修改我的电脑属性里的图标图片的方法

如何更改我的电脑属性里的制造商和技术支持商的图片 如何更改我的电脑属性里的图片 下载Windows优化大师.打开后,点击系统优化-系统个性设置.找到OEM信息设置.点修改图片.即可修改.如图所示.   下载Windows优化大师.打开后,点击系统优化-系统个性设置.找到OEM信息设置.点修改图片.即可修改.如图所示. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索windows , 优化 , 系统 属性 vb 工程属性

PHP判断文章里是否有图片的简单方法

  这篇文章主要介绍了PHP判断文章里是否有图片的方法,很实用的功能,需要的朋友可以参考下 本文的PHP程序用来判断文章里是否包含有图片,其主要实现思路就是用preg_match来检查内容里是否有匹配的" 废话少说,下面是主要实现代码: $url="http://XXXXX/article/012.html"; $content=file_get_contents($url); //读取文章页面源代码 if(preg_match("/ echo "检测到图

python清除字符串里非字母字符的方法

  本文实例讲述了python清除字符串里非字母字符的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 s = "hello world! how are you? 0" # Short version print filter(lambda c: c.isalpha(), s) # Faster version for long ASCII strings: id_tab = "".join(map(chr, xrange(256))

python统计文本字符串里单词出现频率的方法

  本文实例讲述了python统计文本字符串里单词出现频率的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 # word frequency in a text # tested with Python24 vegaseat 25aug2005 # Chinese wisdom ...

node.js的mysql模块query方法里的字符串拼接问题

问题描述 node.js的mysql模块query方法里的字符串拼接问题 我写了一个和mysql交互的Node.js.大致功能是,在浏览器端提交用户信息表单后,会在现有的表userInfo里插入一条用户记录:然后针对这条用户记录自动再生成一个表,该表的名称是根据这条记录的id动态生成的. 该部分我写的代码如下: //上面的代码已经实现把一条新的用户记录插入到userInfo里了. var userId; var tableName; db.query(//这里通过query方法获取这条新记录的i

Python挑选文件夹里宽大于300图片的方法_python

本文实例讲述了Python挑选文件夹里宽大于300图片的方法.分享给大家供大家参考.具体分析如下: 这段代码需要用到PIL库.代码如下所示: import sys import os sys.path.append('PIL') from PIL import Image as im path = '/home/hualun/桌面/img/' new_path = '/home/hualun/桌面/img2/' for x in os.listdir(path): if x.endswith('

json对象转为字符串,当做参数传递时加密解密的实现方法_javascript技巧

[son对象  字符串 互相转行] 比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":"tom","sex":"男","age":"24"}; var b='{"name":"Mike","sex":"女","age":"29"

java和javascript中过滤掉img形式的字符串不显示图片的方法_java

本文实例讲述了java和javascript中过滤掉img形式的字符串不显示图片的方法.分享给大家供大家参考.具体实现方法如下: 1. javascript过滤掉<img></img>和<img />形式的字符串 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml