iphone程序加密处理
2012-01-08 02:19
162 查看
在Objective-C语言中,加密时常用到CCCrypt(3cc)面的代码使用 CCCrypt() ,给 NSData 类增加了AES256EncryptWithKey, AES256DecryptWithKey 方法
- (NSData *)AES256EncryptWithKey:(NSString *)key { char keyPtr[kCCKeySizeAES256+1]; bzero(keyPtr, sizeof(keyPtr)); [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; NSUInteger dataLength = [self length]; size_t bufferSize = dataLength + kCCBlockSizeAES128; void *buffer = malloc(bufferSize); size_t numBytesEncrypted = 0; CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding | kCCOptionECBMode, keyPtr, kCCBlockSizeAES128, NULL, [self bytes], dataLength, buffer, bufferSize, &numBytesEncrypted); if (cryptStatus == kCCSuccess) { return [NSData dataWithBytesNoCopy:buffer length:numBytesEncrypted]; } free(buffer); return nil; } - (NSData *)AES256DecryptWithKey:(NSString *)key { char keyPtr[kCCKeySizeAES256+1]; bzero(keyPtr, sizeof(keyPtr)); [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; NSUInteger dataLength = [self length]; size_t bufferSize = dataLength + kCCBlockSizeAES128; void *buffer = malloc(bufferSize); size_t numBytesDecrypted = 0; CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding | kCCOptionECBMode, keyPtr, kCCBlockSizeAES128, NULL, [self bytes], dataLength, buffer, bufferSize, &numBytesDecrypted); if (cryptStatus == kCCSuccess) { return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted]; } free(buffer); return nil; }
相关文章推荐
- iPhone程序中的加密处理
- iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理
- iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理
- iPhone程序中的加密处理
- 微信小程序MD5加密接口的处理
- iPhone企业应用实例分析之二:程序处理流程
- 简单的iphone图片处理程序
- asp .net 预编译处理 asp.net 程序加密
- iPhone企业应用实例分析之二:程序处理流程
- 在小程序中使用md5处理需要加密的字符串(含中文的字符串)
- asp .net 预编译处理 asp.net 程序加密
- TexturePacker 图片打包工具讲解与使用并且批处理打多包以及资源加密
- 在C# WinForm程序中创建控件数组及相应的事件处理
- 一般处理程序用户登录验证
- C#.NET--如何处理程序的未捕获异常
- JAVA程序中乱码处理
- 一个批处理的扫描程序
- 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- 利用ida对程序的静态链接库进行处理
- 老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密