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

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

1.下载源码

https://github.com/RNCryptor/RNCryptor
目录结构如下
iOS中使用RNCryptor对文件进行AES加密/解密_第1张图片

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开发)