您的位置:首页 > 移动开发 > IOS开发

iOS中使用RNCryptor对文件进行AES加密/解密

2015-09-16 16:37 316 查看
RNCryptor是一款开源的跨语言的AES加密/解密器,对Objective-C有着非常好的支持,很适合在iOS下对资源文件进行加密。

1.下载源码

https://github.com/RNCryptor/RNCryptor

目录结构如下



2.添加项目

将RNCrytor目录拷贝到所需要的iOS项目目录中,并将目录内所有文件添加到工程中。在Build Phases的link binary with libraries中添加Security.framework。

3.实现加密解密

使用RNCrytor对文件进行加密解密十分便捷。

加密:

NSData *data = [@"Data" dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data
                                    withSettings:kRNCryptorAES256Settings
                                        password:aPassword
                                           error:&error];

其中data是待加密的数据,数据可以来自于文件,如下:

NSData *data = [NSData dataWithContentsOfFile:path];
aPassword是加密的密码,NSString格式,需要于解密时的密码一致。

解密:

NSData *decryptedData = [RNDecryptor decryptData:encryptedData
                                    withPassword:aPassword
                                           error:&error];

其中encryptedData是加密后的数据,decryptedData是解密后的数据。数据解密后可以写回磁盘:

[encryptedData writeToFile:writePath atomically:NO];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 加密 解密 AES RNCryptor