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];

}


目录
相关文章
|
29天前
|
安全 API 开发工具
oss加密的配置方法
阿里云OSS提供多种加密选项:SSE-OSS(默认或对象级AES-256加密)、SSE-KMS(使用KMS托管CMK)、临时密钥加密和客户端加密(CSE)。可通过控制台或API设置Bucket策略,使用HTTP头部指定加密方式。KMS和临时密钥可能涉及更复杂的密钥管理和权限配置。
129 5
|
30天前
|
数据安全/隐私保护
使用加密工具类进行有效的字符串加密——CSDN博客
使用加密工具类进行有效的字符串加密——CSDN博客
14 0
|
30天前
|
数据安全/隐私保护
常用的字符串加密解密工具类
常用的字符串加密解密工具类
12 0
|
4月前
|
存储 数据挖掘 数据安全/隐私保护
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题(上)
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题
76 1
|
4月前
|
存储 算法 Java
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题(下)
11.Java方法的综合练习题大全-双色球彩票系统,数字的加密和解密等试题(上)
80 1
|
6月前
|
数据安全/隐私保护 Python
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
|
6月前
|
JavaScript 数据安全/隐私保护 Python
JS逆向 -- 某视频vurl值的加密分析
JS逆向 -- 某视频vurl值的加密分析
81 0
|
2月前
|
Java 数据安全/隐私保护
6-4 字符串加密(Java解法,两种网上的类型题)
6-4 字符串加密(Java解法,两种网上的类型题)
23 0
|
3月前
|
安全 Java 数据安全/隐私保护
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
66 0
|
3月前
|
存储 算法 前端开发
面试官:你能说说常见的前端加密方法吗?
面试官:你能说说常见的前端加密方法吗?
173 0

热门文章

最新文章